Redis基础操作
Redis 是单线程的 默认为16个数据库 , 类似数组下标从零开始 , 初始默认使用零号库
使用select 切换库 select 1
Dbsize 查看当前数据库的key的数量
flushdb 清空当前库
flushALl 清空所有的库
Redis数据类型:
string
hash(类似java的map)
list (实际上是LinkList)
set
zset(有序集合,每个元素都会关联一个doubue类型的分数 用来进行排序)
参考资料:http://redisdoc.com
keys相关用法:
keys *
exists key 判断某个key是否存在
expire key 10 :为给定的key设置过期时间 单位秒钟
ttl key 查看还有多少秒过期, -1表示永不过期 , -2表示已过期(过期后不存在库中了)
type key 查看数据类型
string字符串的相关用法:
set/get/del/append/strlen
incr/decr/incrby/decrby
incr / decr num 单次加一/减一
incrby/decrby num 3 单词加三/减三
getrange /setrange (范围内取值/范围内设值)
getrange k1 0 3 ( 返回前4个字符)
setex(set with expire) / setnx(set if not exit)
setex k1 10 v1
setnx k1 10v1 (如果存在k1则此语句无效)
mset/mget/msetnx
List相关用法:
lpush/rpush/lrange
LPUSH list01 1 2 3 4 5
RPUSH list02 1 2 3 4 5
LRANGE list01 0 -1
lpop/rpop
lpop k1
LINDEX(选取list中第几个元素)
LINDEX list01 2
lLLEN 判断list的长度
LLEN list01
LREM KEY 删除n个value
LREM list01 2 3 删除两个3
LREIM KEY 开始index 结束index, 截取后在赋值给list01
LTRIM list01 0 4
RPOPLPUSH 源列表 目的列表
RPOPLPUSH list01 list 02
LSET KEY INDEX VALUE
lset list01 1 x
LINSERT KEY BEFORE/AFTER 值1 值2
LINSERT LIST01 BEFORE X 插入值
Set相关用法:
SADD/SMEMBERS/SISMEMBER
SADD set01 1 2 3 设置set
SMEMBERS set01 查看set
SISMEMBER set01 1 判断是否存在某个值
SCARD 获取集合里面的元素个数
SCARD set01
SREM KEY VALUE 删除集合中元素
SREM KEY 3
SRANDMEMBER KEY 某个整数(随机胡几个数字)
SRANDMEMBER set01 10
SPOP KEY 随机出栈
SMOVE KEY1 KEY2 在key1中的某个值 将key1中的某个值赋给key2
数学集合类
差集:SDIFF set01 set02
交集:SINTER
并集:SUNION
Hash相关用法
HSET/HGET/HMSET/HMGET/HGETALL/HDEL
HSET user name zhangsan
HGET user name
HMSET user name zhangsan id 11 age 25
HMGET user name id age
HGETALL user
HLEN
HEXISTS KEY
HKEYS/HVALS
HKEYS user
HVALS user
HINCRBY/HINCRBYFLOAT
HINCRBY user id 2
HSETNX 如果不存在创建
Zset相关用法
ZADD/ZRANGE
ZADD zset01 60 V1 70 V2 80 V3 30 v4
ZRANGEBYSCORE KEY 开始score 结束score
withscores
( 不包含
Limit
示例: ZRANGEBYSCORE zset01 60 90 LIMIT 2 2
ZREM KEY 某score下对应的value值 , 作用是删除元素
ZCARD/ZCOUNT KEY SCORE区间/ZRANK KEY VALUES值 作用是获得下标值/ZSCORE KEY对应的值,获得分数
ZREVRANK KEY VALUES 作用是逆序获得下标值
ZREVRANGE
ZREVRANGEBYSCORE KEY