Redis key关键字
keys *
罗列所有key
exists key
判断某个key是否存在
move key db
将某个的key移动到指定的数据库
expire key 秒
为指定的key设置过期时间,单位秒
ttl key
查看key还有多少秒过期,-1表示永不过期,-2表示已过期
type key
查看key对应的数据类型
del key
删除key及对应值
Redis String
set key value
设定key的值为value
get/del key
获得或删除key的值
append key value
将字符串value添加到给定key的值的后面,字符串拼接
strlen key
获取给定key的值的长度
incr/decr key
key的值每次递增或递减1,值为integer
incrby/decrby key X
key的值每次递增或递减X
getrange key 0 N
获取指定区间的值,获取下标为0到N的字符串
setrange key 0 XX
修改指定区间的字符串为XX
sete key 秒 value
set with expire,修改key的值为value并给定过期时间
setnx key value
set if not exists,如果key不存在,设定key的值为value
mset/mget/msetnx
key1 v1 key2 v2 key3 v3 批量设置或取得键值对,msetnx中如果其中一个key存在则所有key都无法设置
Redis List
lpush/rpush key v1 v2 v3 v4
lpush先进后出,rpush先进先出,lpush每个元素从集合头部添加,rpush每个元素从集合尾部添加
lrange key 0 -1
获取指定下标范围的值,lpush在最上面插入,rpush在最下面插入
lpop/rpop key
pop出一个value,若以lrange的值来看,lpop取出最上面的一个值,rpop取出最下面的一个值。
lindex key X
按照下标索引X获得元素(从上到下)
llen key
获取list元素长度
lrem key N value
删除list中N个value,以lrange列出的值中从上往下的删N个,批量删除
ltrim key 0 N
取出list中指定下标范围的值,并将取出的值覆盖原来的list,即删除指定范围外的值
rpoplpush list1 list2
将list1中最下面的值取出,放入list2中最上面
lset key index value
修改指定索引的值,索引顺序从上到下
linsert key before/after v1 v2
在v1的前面或后面插入v2
List总结:
1.它是一个字符串链表,left、right都能插入添加
2.若键不存在,创建新的链表,若键存在,新增内容
3.若值全移除,则对应的键也消失
4.链表的操作头和尾效率都高,但对中间元素操作效率就较低了
Redis Set
sadd key v1 v2 v3
添加元素,会自动去掉重复的值
smembers key
罗列所有成员元素
sismember key value
判断value是否为key中元素
scard key
获取集合中元素个数
srem key value
删除key中某个元素
srandmember key N
从集合中随机显示N个元素
spop key
从集合中随机取出一个元素
smove key1 key2 value
将key1中某个元素移动到key2中
sdiff/sinter/sunion key1 key2
显示key1和key2的差集,交集,补集
sdiff key1 key2
显示key1中key2不存在的元素
Redis Hash
hset user id 1
添加键值对
hget user id
获取值
hmset user id 1 age 13
批量添加键值对
hmget user id age
批量获取值
hgetall
获取所有键值对
hdel user id
删除键值对
hlen user
获取键值对个数
hexists user id
判断集合中某个键值是否存在
hkeys/hvals user
获取所有的key或所有的value
hincrby/hincrbyfloat user id N/N.NN
集合中某个键的值每次递增N或N.NN
hsetnx user id 1
若添加的键已存在则不操作
Redis Zset
zadd key score1 v1 score2 v2 score3 v3
添加元素并设置分数
zrange key 0 N
给定下标范围的显示集合元素,根据分数从小到大排列
zrange key 0 N withscores
带分数列举元素
zrangebyscore key score1 score2
列举出集合中分数在【score1,score2】之间的元素
zrangebyscore key (score1 score2
“(“为不包含的意思,列举分数在(score1,score2]之间的元素
zrangebyscore key score1 score2 limit x y
列举出元素后,从下标为x的元素开始,筛选出y个元素
zrem key value
删除value
zcard key
获得集合value个数
zcount key score1 score2
统计score1和score2之间有多少个元素,包含score1,score2
zrank key value
获取value在集合中的下标
zrevrank key value
逆序获取value在集合中的下标
zscore key value
获取value对应的分数
zrevrange key 0 N
给定下标范围的显示集合元素,下标是逆序的
zrevrangebyscore key score2 score1
列举出集合中分数在【score1,score2】之间的元素,根据分数从大到小的显示