redis经常使用命令大全

参考资料

redis服务相关

redis启动redis

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

验证密码是否正确数据库

$ AUTH password

打印字符串code

$ ECHO message

查看服务是否运行排序

$ PING

关闭当前链接索引

$ QUIT

切换指定数据库队列

$ SELECT index

redis key命令

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

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

检查给定的key是否存在文档

$ EXISTS key  # 存在返回1,不然返回0

设置key的过时时间字符串

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

设置key指定的过时时间get

$ 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,查见文档,太难看懂,也用的很少

相关文章
相关标签/搜索