zoukankan      html  css  js  c++  java
  • redis常用命令大全

    参考资料

    redis服务相关

    redis启动

    $ redis-cli # 本地启动链接
    $ redis-cli -h host -p port -a password #远程启动
    

    验证密码是否正确

    $ AUTH password
    

    打印字符串

    $ ECHO message
    

    查看服务是否运行

    $ PING
    

    关闭当前连接

    $ QUIT
    

    切换指定数据库

    $ SELECT index
    

    redis key命令

    删除给定的一个或多个key,不存在的key会忽略掉

    $ DEL key [key ...]  # 返回被删除key的数量
    

    检查给定的key是否存在

    $ EXISTS key  # 存在返回1,否则返回0
    

    设置key的过期时间

    $ EXPIRE key time   # 设置成功返回1
    

    设置key指定的过期时间

    $ EXPIREAT key timestamp   # 设置成功返回1,key不存在或者无法设置,返回0
    

    查找所有符合给定模式pattern的key

    $ KEYS *    # 匹配数据库中所有key
    $ KEYS h?llo   # 匹配hello, hallo和hxllo等
    $ KEYS h*llo   # 匹配hllo,heeeeeello等
    $ KEYS h[ae]llo   # 匹配hello,hallo,但是不匹配hxllo
    

    移除给定key的生存时间,使其变成永久的key

    $ PERSIST key   # 成功返回1,当key不存在或者key未设置ttl时返回0
    

    返回key的剩余生存时间

    $ PTTL key   # 以毫秒返回key的剩余生存时间,当key不存在时返回-2,key没有设置过期时间返回-1
    $ TTL key # 以秒返回key的剩余生存时间,同上
    

    从当前数据库随机返回一个key,但是不删除

    $ RANDOMKEY   # 当数据库为空时,返回nil
    

    重命名key的名字

    $ RENAME key newkey  # 失败会返回错误,如no such key,当newkey存在时,将覆盖key
    $ RENAMENX key newkey   # 当newkey存在时,会返回错误
    

    对列表、集合、有序集合key中元素进行排序

    $ SORT key   # 返回从小到大的结果
    $ SORT key desc   # 返回从大到小的结果
    

    获取key的类型

    $ TYPE key
    # none(key不存在)
    # string(字符串)
    # list(列表)
    # set(集合)
    # zset(有序集合)
    # hash(哈希表)
    

    游标方式获取key

    $ SCAN 0   # 从游标为0的位置开始获取key,返回值会返回之后游标的位置
    $ SCAN 0 MATCH h*llo   # 可以通过match的方式返回匹配的元素
    

    string(字符串)

    追加value到key原有值的结尾

    $ APPEND key value    # 返回当前key的长度
    

    设置bit位以及获取被设置bit位数量

    $ SETBIT key offset value   # 设置当前offset的bit位为1
    $ BITCOUNT key [start end]    # 获取当前key设置过1的数量
    

    对key中存储的数据进行加或者减操作

    $ DECR key      # 返回当前存在的值,减1
    $ DECRBY key decrement      # 返回当前存在的值,减去decrement
    $ INCR key      # 对key进行加1操作
    $ INCRBY key increment      # 返回当前存在的值,加上increment
    $ INCREBYFLOAT key float    # 对当前key加上一个flaot值,但是会有很多小数
    

    对字符串数据进行设置和获取

    $ SET key value         # 设置一个key的值
    $ GET key           #获取key的值
    

    获取key的值在start和end之间的值

    $ GETRANGE key start end
    

    将给定的value设置到key,并且返回key之前的值

    $ GETSET key value
    

    设置一个key,含有过期时间,但是是毫秒

    $ PSETEX key milliseconds value
    

    设置一个key,含有过期时间,但是是秒

    $ SETEX key seconds value
    

    返回value的长度

    $ STRLEN key
    

    set if not exists如果不存在则写入,返回1或0

    $ SETNX key value
    

    同时获取多个值

    $ MGET key[key...] 
    

    同时设置多个key和值

    $ MSET key value[key value...]
    

    原子性操作,要么都一起设置成功,要么都一起设置失败

    $ MSETNX key value[key value...]
    

    Hash(哈希表)

    删除哈希表key中一个或多个指定域,不存在将被忽略,成功返回被删除数量

    $ HDEL key field [field...]
    

    检查哈希表key中,给定域field是否存在,存在返回1,不存在返回0

    $ HEXISTS key field
    

    获取哈希表key中,给定的域field

    $ HGET key field
    

    获取哈希表key所有域和值

    $ HGETALL key
    

    对哈希表key中指定的域field值上加上增量increment

    $ HINCRBY key field increment
    

    对哈希表key中指定的域field值上加上浮点数increment

    $ HINCRBYFLOAT key field incrment
    

    返回给定哈希表key中所有的域field

    $ HKEYS key
    

    返回给定哈希key中所有与field的数量

    $ HLEN key
    

    返回哈希表key中一个或多个给定域的值

    $ HMGET key field [field...]
    

    将多个field-value对设置到哈希key中

    $ HMSET key field value [field value ...]
    

    将哈希表key中域field设置值为value

    $ HSET key field value
    

    将哈希表key中域field设置值为value,当且仅当field不存在,如果存在则操作无效

    $ HSETNX key field value
    

    返回哈希表key中所有域的值

    $ HVALS key
    

    列表(list)

    弹出多个队列的值,阻塞式

    $ BLPOP key [key...] timeout
    

    向前弹出多个队列的值,阻塞式

    $ BRPOP key [key...] timeout
    

    返回key中位于index的值,0开始,-1为倒数第一个

    $ LINDEX key index
    

    插入一个值到key的某一个值之前或之后,如果这个值没找到,则不插入

    $ LINSERT key BEFORE|AFTER pivot value
    

    返回key有多少个值

    $ LLEN key
    

    移除表头的值,并返回该值

    $ LPOP key
    

    将一个或多个值插入到key的表头

    $ LPUSH key value [value...]
    

    从key1表尾弹出一个值,并插入到key2表头,只是阻塞版本

    $ BRPOPLPUSH key1 key2 timeout
    

    将一个值插入到key中,当且仅当key存在的情况下

    $ LPUSHX key value
    

    获取指定区间的值,-1表示最后一个

    $ LRANGE key start end
    

    移除与value相等的值,当count>0,表头开始搜索,count<0,表尾开始搜索,count=0,移除全部

    $ LREM key count value
    

    设置指定index的值,覆盖

    $ LSET key index value
    

    删除指定区间以外的值

    $ LTRIM key start end
    

    从表尾弹出一个值

    $ RPOP key
    

    从key1结尾弹出一个值返回,并添加到key2表头

    $ RPOPLPUSH key1 key2
    

    从表尾插入一个值

    $ RPUSH key value [value...]
    

    从表尾插入一个值,当且仅当key存在的时候

    $ RPUSHX key value
    

    集合(Set)

    将一个或者多个值添加到集合中,重复的值将会被忽略掉

    $ SADD key value [value...]
    

    返回key中队列的元素数量

    $ SCARD key
    

    返回队列key所有的值

    $ SMEMBERS key
    

    返回所有集合的差集,目前看来是第一个key在其他key中不存在的值

    $ SDIFF key [key...]
    

    用以上SDIFF对比差集之后,存储到destination这个集合中去

    $ SDIFFSTORE destination key [key...]
    

    返回几个集合的交集,假设有一个是空集,那么返回的也是空集

    $ SINTER key [key...]
    

    将以上用SINTER返回的交集存储到destination集合中

    $ SINTERSTORE destination key [key...]
    

    判断一个值是否是一个集合的成员

    $ SISMEMBER key member
    

    将元素从source移动到destination中去,原子性操作

    $ SMOVE source destination member
    

    移除并返回一个随机元素

    $ SPOP key
    

    返回一定数量的元素,但是不对集合进行任何删除等操作

    $ SRANDMEMBER key [count]
    

    移除集合中一个或者多个member,如果member不存在,将会被忽略

    $ SREM key member [member...]
    

    返回所有集合中的并集

    $ SUNION key [key...]
    

    返回所有集合的并集,并且存储到destination

    $ SUNIONSTORE destination key [key...]
    

    sortedset(有序集合)

    添加多个member及他们的score值到集合中

    $ ZADD key score member [score member...]
    

    返回zset的member数量

    $ ZCARD key
    

    返回一个分数区间的值

    $ ZCOUNT key min max
    

    为一个member增加分数,如果不存在member,则等同于ZADD key score member

    $ ZINCRBY key increment member
    

    获取一个区间的值,通过索引,从小到大

    $ ZRANGE key start stop [WITHSCORES]
    

    获取一个区间的值,通过score,从小到大

    $ ZRANGEBYSCORE key min max [WITHSCORES]
    

    获取某个member的排名,这个排名是从小到大

    $ ZRANK key member [WITHSCORES]
    

    移除某些member

    $ ZREM key member [member...]
    

    移除特定排名的member

    $ ZREMRANGEBYRANK key start stop
    

    移除特定分数的member

    $ ZREMRANGEBYSCORE key min max [WITHSCORES]
    

    通过索引获取一个区间的值,与zrange不同的是,这个是从大到小

    $ ZREVRANGE key start stop [WITHSCORES]
    

    通过分数获取一个区间的值,与zrangebyscore不同的是,这个是从大到小

    $ ZREVRANGEBYSCORE key max min [WITHSCORES]
    

    获取某个member的排名,但是这个排名是从大到小

    $ ZREVRANK key member [WITHSCORES]
    

    返回一个member的score

    $ ZSCORE key member
    

    合并几个key的zset,查见文档,太难看懂,也用的不多

  • 相关阅读:
    新建mvc项目iis报404错误!
    .Net MVC HTTP 错误 404.0 Not Found 解决方法
    一个有趣的C#面试题
    parted分区
    sdp安装及实例
    dede:arclist标签按自定义字段排序
    dedecms标签快速
    也谈string.Join和StringBuilder的性能比较
    WinForms 实现气泡提示窗口
    各种“禁用窗口上的关闭按钮”方法总结及源码
  • 原文地址:https://www.cnblogs.com/djzny/p/11336573.html
Copyright © 2011-2022 走看看