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】之间的元素,根据分数从大到小的显示
