Redis常用命令总结

学习Redis的朋友们都知道,Redis常见的数据类型有5种,分别如下:

 

String(字符串)
    ①string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
    ②string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
    ③string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M

Hash(哈希,类似于Java中的Map)
    ①Redis hash 是一个键值对集合。
    ②Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。

List(链表)

    Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。
它的底层实际是个链表

Set(集合)

    Redis的Set是string类型的无序集合。它是通过HashTable实现实现的,

ZSet(有序集合)
    ①Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
    ②不同的是每个元素都会关联一个double类型的分数。
    ③redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。

 

那么从哪里可以获得Redis的常用命令呢?

   最好的资源,那一定是官网。但是如果你英语也像我一样很渣,那么推荐你去Redis常用命令速查

 

下面开始分类型介绍一些常用的命令:

(1)Redis的键

keys * //查询所有的键

exists key的名字 //判断某个key是否存在

move key db(你要移动的目标库) //将某个键值对移动到另外一个库,当前库则就不存在了

expire key 秒钟  //为key设置生命周期

ttl key //查看key的生命周期还剩多长时间 -1 为永久不过期  -2为已经过期

type key //查看该key为什么类型

(2)String (单值单value)

set key value

get key

del key

append  key value //表示原来的key已经存在并且是字符串,将value追加到原来的字符串后面

strlen key //根据key查值的长度

incr/decr key 对必须是数字类型的键值对的值进行加1(联想点赞的功能)

incrby/decrby key N //设定对value加N

getrange key start end //获得指定区间范围的值 (0 -1) 表示全部

setrange key start 值  //设置指定区间范围的值为多少

setex key time value //设置值指定生命周期

setnx 不存在才设定

mset k1 v1 k2 v2 .... 

mget k1 k2 ...

msetnx ...

getset //先get再set 

(3)List(单值多value)

   

lpush/rpush key v1 v2 v3.... //从右边或左边增加元素创建并设定列表的值

lrange key start end //查看下标范围内的value

lpop/rpop //从右边或左边弹出一个元素

lindex //按照索引下标获得元素

llen  //获得列表的长度

lrem key N value //删除列表中的N个value值

ltrem key start end //截取指定范围内的

rpoplpush 资源表 目标列表

lset key index value //设置某个坐标的值为多少

linsert key before/after v1 value //在v1前/后设置值




(3)Hash(KV模式)

 

hset key k v

hget key k

hmset key k1 v1 k2 v2 ....

hmget key k1 k2....  

hgetall key

hdel key k

hexists key k //判断key中的某个k是否存在

hlen //包括键值对的个数

hkeys/hvals //得出所有的key 或value

hincrby /hincrbyfloat //对其增加整数或浮点数

hsetnx //若不存在则添加


(4)Set(集合)

        单值多value

sadd k v1 v2 v3... //添加元素

smembers key //查看key里面的所有元素

sismember key v1/v2/v3  //判断某个值是否属于这个集合

scard key //求某个集合里的元素个数

srem key value //删除集合中的元素value

srandmember key N  从集合中随意取出N个元素

spop key 随机出栈

smove set1 set2 val 从set1将val移动到set2中

集合的 并  交  差:

  sdiff set1 set2  差运算

  sinter set1 set2 交运算

  sunion set1 set2 并运算

(5)ZSet(有序集合)

    set 在原有基础之上加上score这一参数。。。即为zset

zadd key score1 v1 score2 v2 .....  添加元素

zrange key idx1 idx2  [withscores]  0 -1 表示列举所有

zrangebyscore key [(]score1 [(]score2 [withscores] [limit offset limit] 
  
(1)  ( 表示不包括起点值 (2)limit 表示可以分页展示

zrem key + 某个score下对应的值  注意结尾加的是score对应的v ,而不是score

zrank/zrevrank key val 正序或逆序获得值的下标

zrange/zrevrange key start end [withscores]  正序逆序输出数列

zrangebyscore/zrevrangebyscore key score1 score2 [withscores]  按score正序逆序输出数列

zcard key 获得集合元素个数

zcount key score1 score2 获得分数区间范围内的元素个数

zrank key val 获得value在区间内的位置

zscore key val 按照值查找对应的分数

 

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务