String
键值对
设置
set key value
获取
get key
删除
del key
判断key是否存在 存在返回1,不存在返回0
exists key
批量键值对
获取多个
mget key1 key2 key3…
设置多个
mset key1 value1 key2 value2 key3 value3…
设置key存在时间
1.set name pangzi
2.expire name 5 //5秒后删除
3.setex name 5 pangzi //5秒后删除 等价于 1+2 name 存在时创建不成功
list(列表)
用链表实现,当列表中最后一个元素移除之后,数据结构自动删除,内存被回收。
rpush //从右边进
lpush //从左边进
lpop //从左边出
rpop //从右边出
hash(字典)
数组+链表实现,相当于java中的hashmap 无序、不重复,当集合中最后一个元素移除之后,数据结构自动删除,内存被回收。
添加
hset name pangzi “quancun zuishuai” //字符串若有空格,需要用引号
获取
hgetall name //获取所有
hlen name //获取长度
批量操作
hmset name pangzi “quancunzuishuai” zhangsan “quancunbushuai”
set(集合)
无序不可重复(value) 相当于java中的hashset,当集合中最后一个元素移除之后,数据结构自动删除,内存被回收。
添加
sadd name pangzi
获取
smembers name
查看某个value是否存在 1存在/0不存在
sismember books key
弹出集合中的一个
spop key
获取长度(个数)
scard key
zset(有序集合)
设置
zadd name 8.0 “pangzi”
zadd name 9.0 “zhangsan”
zadd name 3.0 “lisi”
获取
zrange name 0 -1 //按照设置的score排序输出,后跟的范围
zrevrange name 0 -1 //按照设置的score逆序输出
获得长度(个数)
zcard name
获取指定value的score
zscore name “pangzi”
获取排名
zrank name “pangzi”
根据分值区间遍历
zrangebyscore name 0 9.0
根据分值区间(负无穷,8.0]遍历并返回score
zrangebyscore name -inf 8.0 withscores
删除
zrem name “pangzi”