Redis学习之五大数据类型常用命令

1.常用命令

1.select n     切换数据库0~15

2.dbsize     查看当前数据库key的数量

3.Flushdb     清空当前库

4.Flushall     清空所有库

2.Redis键

1.keys *     查看所有的key

2.get key名     查看该key的值

3.keys k?     查看以k开头的两位key

4.exists key名    判断该Key是否存在

5.move key名     数据库号(0~15) 将该键移到别的库

6.expire key名 秒数     设置过期时间

7.ttl key名      查看该键还有多少秒过期,-1表示永不过期,-2表示已过期

3.Redis字符串(String)

1.set key名 值     设置值

2.get key名    获取该key的值

3.del key名    删除该键

4.append key名 新值    在旧值后拼接新值

5.strlen key名    查询值的长度

6.incr/decr key名    对该key对应的值加减1

7.incrby/decrby key名 n     对该Key加减n

8.getrange key名 起始下标 终止下标    就是取子串

9.setrange key名 起始下标 新值     用新值替代该下标下的旧值

10.setex Key名 秒数 值     该key在多少秒后自动过期

11.setnx key名 值      如果key中原来无值再赋值,有的话就不赋值啦

12.mset/mget/msetnx      同时可以操作多个数据,用法和上面的类似

13.getset key名 新值      获取旧值,再将新值覆盖旧值

4.Redis列表(List)

Redis学习之五大数据类型常用命令

1.rpush与上图同理,只不过从右侧开始存储,存储顺序相反

2.lindex key名 下标          找到该列表对应元素

3.llen ket名            找到该列表的长度

4.lrem key名            删除个数n 删除的值v 从左往右删除n个等于v的值,n为0的话默认删除所有

5.ltrim key名 起始下标 终止下标         剔除该范围的值

6.rpoplpush 源列表 目的列表              将原列表的值pop出来再添加到目的列表中

7.lset key名 列表下标 值           替换对应下标的值

8.insert key名 before/after 旧值 新值          在第一个旧值前或后添加新值

5.Redis集合(Set)

1.sadd key名 v1 v2 ... v3            添加set

2.smenmbers key名             列举set中的所有数据

3.sismember key名 值          判断该值是否存在于set中

4.scard key名         查询set集合数据个数

5.srem key名 v           移除set集合中等于v的数

6.srandmember key名 整数n         在set集合中随机取出n个数

7.spop key名          set集合数据随机出栈(1个)

8.smove key名s1 key名s2 值v           将s1中的v移至s2中

9.sdiff/sinter/sunion key名k1 ... key名kn         取差集/交集/并集

6.Redis哈希(Hash)

使用KV模式,只不过这里的V的数量不固定,如hset user name zeng age 20

hset user name zeng age 20         创建key

hget user name         获取user的name值

hmset user name ren age 16         一次更改多组值

hmget user name age        一次获取多个值

hgetall user       获取该键的所有数据

hdel user name           删除user的name属性

hlen user         查看user多少属性

hexists user name       判断user是否包含name属性

hkeys user         获取user的所有属性名

hvals user          获取user的所有属性值

hincrby user age n         将age值加n

hincrbyfoat user age n          将age值加n

hsetnx user age n       如果user不存在age,则添加并将值赋值为n

7.Redis有序集合Zset(sorted set)

比原来的set多加了score

zadd zset1 60 v1 70 v2 80 v3 创建zset,后面加的是score

zrange/zrevrange zset1 0 -1 [withscores]          这句话的意思是获取所有的zset(包括score)数据

zrangebyscore/zrevrange zset1 60 80       获取score在这个范围的所有值

zrem zset1 v2          删除zset集合中的v2

zcard zset1        查询集合中元素个数

zcount zset1 60 80       查询在对应分数区间的个数

zscore zset1 v1         查询v1值对应的score

zrank/zrevrank zset1 v1          查询v1在zset1中的下标/倒序下标