redis五种基础数据结构常用操作

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 存在时创建不成功

listl(列表)

用链表实现,当列表中最后一个元素移除之后,数据结构自动删除,内存被回收。

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”

你可能感兴趣的:(redis,redis)