redis
安装
这个直接百度redis的源码的下载地址就行
记得下面几个dos命令
D;
cd redis
redis-sever.exe redis.windows.conf
redis-cli.exe -h 127.0.0.1 -p 6379
设置键值对
set key value
get key
配置
语法
redis localhost:6379>config get config_setting_name
参数
daemonize no redis默认不是以守护进程的方式运行,可以改成yes启用守护进程(window不支持守护进程的配置)
pidfile /var/run/redis.pid 当redis以守护进程的方式运行时,redis会默认把pid写入/var/run/redis.pid文件
port 6379 指定redis监听接口,默认端口6379
bind 127.0.0.1 绑定主机地址
timeout 300 当客服闲置多少秒关闭连接,如果指定为0,表示关闭该功能
loglevel notice 指定日志的记录级别,redis共四个级别:debug,verbose,notice,warming,默认notice
logfile stdout 日志记录方式,默认标准输出,如果配置redis为守护进程方式运行,而配置日志记录方式为标准输出,则日志将会发送给/dev/null
databases 16 设置数据库的数量,默认为0,可以用select命令在连接上指定数据库id
save 指定在多长事件内,有多少次更新操作,将数据同步到数据文件,可以多个条件按配合
expire
暂时就这么多吧
数据类型
string
hash
list
set
zset
String
redis最基本的类型,是二进制安全的,最大能存储512mb
Hash
是键值(key=>value)对集合
是一个string类型的field和value的映射表,hash特别适合存储对象
List
简单的字符串列表,按照插入顺序排序。可以将元素添加到头部或者尾部
Set
string类型的无序集合,通过hash表实现的,所以一切操作的复杂度都是O(1)
Zset
string类型的元素的集合,且不允许重复的成员,其每个元素都会关联一个double类型的分数,这样子实现了分数来排序
Redis命令
基本语法
$redis-cli
$redis-cli -h host -p -a password (语法)
ping
Redis键
command key_name
set runoobkey redis
del runoobkey
dump key
expire key
exprire key seconds
exprire key timestamp
pexprire key milliseconds
pexprire key milliseconds-timestamp
keys pattern
move key db
persist key
pttl key
ttl key
randomkey
rename key newkey
renamenx key newkey
scan cursor [match pattern] [count count]
type key
Redis字符串
语法同上,字符命令
getrange key start end
getset key value
getbit key offset value
mget key1[key2...]
setbit key offset value
setex key seconds vaue
setnx key value
setrangge key offset value
strlen key
mset key value[key value...]
msetnx key value[key value]
psetex key milliseconds value
incr key
incrby key increment
incrbyfloat key increment
decr key
decrby key decrement
append key value
redis hash 是一个string类型的field和value的映射表,每个hash可以存储2^32-1的键值对
redis hash 命令
hdel key filed1[field2]
hexists key field
hset key field value
hget key field
hvals key
hincrby key field mincrement
hincrbyel key field increment
hincrbyfloat key field increment
hkeys key
hmget key field[field1]
hmset key field value[field1 value1]
hgetall
hscan key currsor match pattern
redis list是简单的字符串列表,按照插入顺序排序,可以添加元素到列表的头部或者是尾部
类似栈或者队列
有左右两个操作方式,left和right
push pop len rem trim set
list命令
blpop key[key1] timeout
brpop key[key1] timeout
brpoplpush source destination timeout(高级应用,单线程应用)
lindex key index
linsert key before|after pivot value
llen key
lpush key
lpop key
lpush key start stop
lrem key index value
lset key index value
ltrim key start stop
rpop key
rpush key value1[value2]
rpush key value
集合成员是唯一的。
set命令
sadd member[member1]
scard key
sdiffstorem destination key1[key2]
sinter key1[key2]
spop key
srandemember key [count]
srem key member[member1]
redis中的有序集合,通过绑定一个double类型的数值确定它的大小
zset命令
zadd key score1 member1 [score2 memebr2]
zcard key
zcount key min max
zinsertstore destination numkeys key[key...]
zlexcount key min max
zrange key start stop [withscores]
zrangebylex key min max [limit offset count]
zrangebyscore key min max [- withscores ] [ limit]
zrank key member
zremrangebyrank key min max
zremrangebyscore key min max
zrevrange key start stop [withscores]
zrevrangebyscore key max min [withscores]
zscore key membe
zunionstore destination numkeys key [key...]
zscan key cursor [match pattern] [count count]
redis方案
keys *
set操作的“权限”比hset高
redis事务
multi事务开启命令
exec事务执行命令
discard 回滚操作
watch 监控
Java集成redis进入项目的方式
jedis
redistemplate