连接本地:
redis-cli
连接远端redis:
redis-cli -h host -p port -a password
命令:
- 键(key)
keys *
注意: 由于redis是单线程的,因此在redis key数量很多的时候禁用该命令,否则容易引起生产应用夯机现象
如果一定要使用,除非能确定数据量不大,或者在一个没有被使用的集群节点上使用
set key value
例如: set test test1
get key
例如: get test
dbsize 键值总数
该命令不会遍历redis, 而是直接获取redis内置的计算总数变量
127.0.0.1:6379> dbsize
(integer) 6
exists key 检查key是否存在
127.0.0.1:6379> exists test
(integer) 1
del key 删除
127.0.0.1:6379> del test
(integer) 1
127.0.0.1:6379> exists test
(integer) 0
expire key seconds 设置过期时间
127.0.0.1:6379> expire test 10
(integer) 1
ttl 获取key剩余过期时间 返回值-1说明没有设置过期时间, -2 则表示过期
127.0.0.1:6379> ttl test
(integer) -2
type key 返回key数据类型
127.0.0.1:6379> type test
string
- 字符串:
可以应用于 缓存, 计数, 共享session, 限速限制频率等
set key value [EX seconds] [PX milliseconds] [NX|XX]
ex 过期时间,单位秒
px 设置毫秒级国企时间
nx 键必须不存在,才可以成功
xx 键存在才可以成功,用于更新
mset批量设置key
127.0.0.1:6379> mset test1 1 test2 2 test3 3
OK
mget 批量获取值
127.0.0.1:6379> mget test1 test2
“1”
“2”
其中mset mget 批量执行在一定情况下可以显著提升性能,时间复杂度是O(1), 而分开则可能是O(N) 还有更多的网络延迟消耗
但是如果批量的执行量特别大,又可能造成应用夯住, 因此需要合理评估使用
incr 计数
incr count
如果count不存在, 则新建key count 并加1 返回1
自减
decy key
strlen key 获取key值的长度
- 哈希:
hset key field value
127.0.0.1:6379> hset user tom 111
(integer) 1
hget key field 获取
127.0.0.1:6379> hget user tom
“111”
HDEL key field [field …] 删除
127.0.0.1:6379> HDEL user tom
(integer) 1
hlen 健个数
127.0.0.1:6379> hlen user
(integer) 0
hmset key field value [field value …] 批量设置
127.0.0.1:6379> hmset user tom 111 jim 112
OK
HMGET key field [field …] 批量获取值
127.0.0.1:6379> HMGET user tom jim
“111”
“112”
hkeys 获取keys的值, hvals获取值内容
127.0.0.1:6379> hkeys user
“tom”
“jim”
127.0.0.1:6379> HVALS user
“111”
“112”
hgetall key 获取所有值
127.0.0.1:6379> HGETALL user
“tom”
“111”
“jim”
“112”
列表:
可以用于阻塞消息队列
RPUSH key value [value …]
lrange key start stop 获取列表
LINDEX key index 获取指定索引下标元素
lpop/ rpop 左弹出, 右弹出值,
LREM key count value 删除指定元素
LSET key index value 修改指定索引下标的元素u
blpop key [key …] timeout
brpop key [key …] timeout
blpop brpop 是lpop和rpop的阻塞版本,防止在其他线程更新或获取值
- 集合:
可以适用于tag 标签
SADD key member [member …] 添加元素
SREM key member [member …] 删除元素
SCARD key 计数, 元素个数
SISMEMBER key member 判断值是否存在key中
SRANDMEMBER key [count] 随机返回指定count个元素
spop key 随机弹出值
SMEMBERS key 获取所有元素
sdiff key [key] 比较集合的不同
SINTER key [key …] 求交集
SUNION key [key …] 求并集
- 计算集合:
ZCARD key
ZCARD testm
- 计算某个成员的分数:
ZSCORE key member
ZSCORE testm r1
- 计算成员的排名:
zrank key member
- 删除成员:
ZREM key member [member …]
增加成员分数
值需要是float类型
ZINCRBY key increment member
其他更全面的命令,可以去官网查找,地址如下:
https://redis.io/commands/
注意:本文归作者所有,未经作者允许,不得转载
原文地址: http://blog.wsmee.com/post/150
版权声明:非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0