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 按照值查找对应的分数

 

全部评论

相关推荐

联通 技术人员 总包不低于12
点赞 评论 收藏
分享
牛客717484937号:双飞硕没实习挺要命的
点赞 评论 收藏
分享
勇敢的联想人前程似锦:如果我是你,身体素质好我会去参军,然后走士兵计划考研211只需要200多分。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务