Redis基础数据结构与命令总结

总结一下redis基础命令吧,以免遗忘,嘿嘿。。。

Redis基础数据结构与命令总结

1. 数据结构1-字符串(String)

可以是保存字符串、整数和浮点数

设值命令

set num 23 ex 10  //10秒后过期, px 10000 毫秒过期           
setnx name test  //不存在键name时,返回1且设置成功;存在的话失败0           
set age 25 xx      //存在键age时,返回1成功复制代码

获值命令

get age //存在则返回value, 不存在返回nil复制代码

批量设值

mset fruit apple num 5   #  fruit apple 为一组;num 5 为一组复制代码

批量获取

mget fruit num address //返回apple  5, address为nil复制代码

字符串计数

incr age //必须为整数自加1,非整数返回错误,无age键从0自增返回1
decr age //整数age减1
incrby age 2 //整数age+2
decrby age 2 //整数age-2
incrbyfloat score 1.1 //浮点型score+1.1复制代码

append追加指令

set name hello
append name world //追加后成helloworld

注意: 
set age 34
append age 23   // 得到 "3423"
incr age  // 得到 3424复制代码

字符串长度

set hello "世界"
strlen hello //结果6,每个中文占3个字节复制代码

截取字符串

set name helloworld
getrange name 2 4  //返回 llo复制代码

2. 数据结构2 - 哈希(Hash)

哈希hash是一个string类型的field和value的映射表,hash特适合用于存储对象

命令

hset key field value复制代码

设值

hset user:1 name ying        //成功返回1,失败返回0复制代码

取值

hget user:1 name              //返回ying复制代码

删值

hdel user:1 age               //返回删除的个数复制代码

计算个数

hset user:1 name james
hset user:1 age 23              
hlen user:1    //返回2,user:1有两个属性值复制代码

批量设值

hmset user:2  name ying  age 23 sex male //返回OK复制代码

批量取值

hmget user:2 name age sex   //返回三行:ying 23 male复制代码

判断field是否存在

hexists user:2 name //若存在返回1,不存在返回0复制代码

获取所有field

hkeys user:2            // 返回name age sex三个field复制代码

获取user:2所有value

hvals user:2     // 返回ying 23 male复制代码

获取user:2所有field与value

hgetall user:2 //name age sex james 23 boy值复制代码

增加1

hincrby user:2 age 1      //age+1
hincrbyfloat user:2 age 2   //浮点型加2复制代码

3. 数据结构3-列表

用来存储多个有序的字符串,一个列表最多可存2的32次方减1个元素

添加命令

rpush ying c b a //从右向左插入cba,返回值3复制代码
lrange ying 0 -1 //从左到右获取列表所有元素返回 c b a复制代码
lpush key c b a //从左向右插入cba复制代码
linsert ying before b teacher 
//在b之前插入teacher, after为之后,使用lrange ying 0 -1 查看:c teacher b a复制代码

查找命令:

lrange key start end //索引下标特点:从左到右为0到N-1
lindex ying -1 //返回最右末尾a,-2返回倒数第二个
llen ying        //返回当前列表长度
lpop ying       //把最左边的第一个元素c删除
rpop ying      //把最右边的元素a删复制代码

4. 数据结构4-集合

保存多元素,与列表不一样的是不允许有重复元素,且集合是无序,一个集合最多可存2的32次方减1个元素,除了支持增删改查,还支持集合交集、并集、差集;

exists user     //检查user键值是否存在 
sadd user a b c //向user插入3个元素,返回3 
sadd user a b   //若再加入相同的元素,则重复无效,返回0 
smember user //获取user的所有元素,返回结果无序  
srem user a  //返回1,删除a元素 
scard user   //返回2,计算元素个数复制代码

5. 数据结构5-有序集合(ZSET)

常用于排行榜,如视频网站需要对用户上传视频做排行榜,或点赞数与集合有联系,不能有重复的成员

zadd key score member [score member......]  

zadd user:zan 200 james //james的点赞数1, 返回操作成功的条数1  
zadd user:zan 200 james 120 mike 100 lee// 返回3  
zadd test:1 nx 100 james  //键test:1必须不存在,主用于添加  
zadd test:1 xx incr 200 james  //键test:1必须存在,主用于修改,此时为300  
zadd test:1 xx ch incr -299 james //返回操作结果1,300-299=1     
zrange test:1 0 -1 withscores //查看点赞(分数)与成员名    
zcard test:1     //计算成员个数, 返回1复制代码

6. Redis全局命令

查看所有键

keys *  

键总数

dbsize       //2个键,如果存在大量键,线上禁止使用此指令复制代码

检查键是否存在

exists key  //存在返回1,不存在返回0复制代码

删除键

del key      //del hello school, 返回删除键个数,删除不存在键返回0复制代码

键过期

expire key seconds        //set name test  expire name 10,表示10秒过期               
ttl key                   // 查看剩余的过期时复制代码

键的数据结构类型

type key             // type hello  返回string,键不存在返回none

欢迎大牛指正交流。

展开阅读全文

页面更新:2024-04-14

标签:数据结构   命令   浮点   次方   整数   字符串   批量   指令   长度   个数   元素   成员   类型   代码   基础   列表   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top