环境:redis-5.0.3,centos605正则表达式
数据类型 | 存储 | 说明 |
---|---|---|
STRING | 字符串、整数或者浮点数 | 最基本的数据类型,能够包含任意数据类型。 |
LIST | 列表 | 简单的字符串列表,迟滞双端操做 |
HASH | 包含键值对的无序散列表 | String 类型的无序集合 |
SET | 无序集合 | 元素无序惟一,哈希表实现 |
ZSET | 有序集合 | string类型元素的集合,每一个元素关联一个double类型的分数,支持排序(sorted set),元素惟一,分数(score)能够重复 |
一、启动。默认端口:6379redis
redis-server redis-5.0.3/redis.conf
redis-cli
127.0.0.1:6379>ping
pong
复制代码
二、set
,建立K-V对,默认为值类型为字符串sql
127.0.0.1:6379> set k1 v1
OK
复制代码
三、get
,查询,没有返回nil数据库
127.0.0.1:6379> get k1
"v1"
复制代码
四、rename
,重命名centos
127.0.0.1:6379> rename k1 k0
OK
127.0.0.1:6379> get k1
(nil)
127.0.0.1:6379> get k0
"v1"
复制代码
五、del
,删除,返回影响的行数,不会报错bash
127.0.0.1:6379> del k1
(integer) 1
127.0.0.1:6379> del k1
(integer) 0
复制代码
六、dump
,序列化,不存在数据结构
127.0.0.1:6379> dump k1
"\x00\x02v1\t\x00\x8f\x17\xe1\x92\x9f\xd6\x1a\xea"
127.0.0.1:6379> dump k2
(nil)
复制代码
七、exists
,是否存在,1有0无app
127.0.0.1:6379> exists k1
(integer) 1
127.0.0.1:6379> exists k2
(integer) 0
复制代码
八、ttl
,获取剩余活跃时间(time to live),-1无过时时间,-2键不存在dom
127.0.0.1:6379> ttl k1
(integer) -1
127.0.0.1:6379> ttl k2
(integer) -2
复制代码
九、expire
,设置剩余有效时间/s,1为设置成功,不存在返回0nosql
127.0.0.1:6379>
127.0.0.1:6379> expire k1 10
(integer) 1
127.0.0.1:6379> ttl k1
(integer) 8
127.0.0.1:6379> ttl k1
(integer) 5
127.0.0.1:6379> ttl k1
(integer) 3
127.0.0.1:6379> ttl k1
(integer) -2
127.0.0.1:6379> expire k2 10
(integer) 0
复制代码
十、keys
,条件查询,条件为正则表达式,key *获取全部键
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> set k2 v2
OK
127.0.0.1:6379> set k3 v3
OK
127.0.0.1:6379> set k4 v4
OK
127.0.0.1:6379> set k5 v5
OK
127.0.0.1:6379> keys *
1) "k3"
2) "k4"
3) "k5"
4) "k1"
5) "k2"
复制代码
十一、randomkey
,随机返回一个键
127.0.0.1:6379> randomkey
"k3"
127.0.0.1:6379> randomkey
"k2"
复制代码
十二、谨慎使用,flushdb 清空数据库,flushall 清空全部数据库
学习下列命令时,可联系对比Java中类似对象类型的操做,便于记忆
命令 | 说明 | 正确返回 |
---|---|---|
strlen key | 获取key的值的长度 | 键长度值 |
getset key value | 给定已存在的 k 设为 v ,并返回 key 的旧值 | 原k-v对 |
mset k1 v1[k2 v2...] | 批次设置多个k-v对 | ok |
mget k1 [k2 k3..] | p批量获取k的值 | value值 |
append k1 v99 | 追加值 | 现value的总长度 |
incrby number | 步长,增长,value值为数字形式 | 增长后value值 |
decrby number | 减小 | j减小后value值 |
命令 | 说明 |
---|---|
lpush k1 v1[k2 v2...] | 将一个或多个值插入到列表头部 |
rpush k1 v1[k2 v2...] | 将一个或多个值插入到列表尾部 |
lrange key start stop | 获取列表指定范围内的元素 |
llen key | 获取列表长度 |
ltrim key start stop | 保留列表指定区间内的元素 |
blpop k1[k2] timeout | 移出并获取列表的第一个元素, 若是无元素会阻塞,直到等待超时或有元素。 |
命令 | 说明 |
---|---|
hgetall | 获取在哈希表中指定 key 的全部字段和值 |
hkeys | 获取全部哈希表中的字段 |
hmset key field1 value1 [field2 value2 ] | 同时将多个 field-value (域-值)对设置到哈希表 key 中。 |
hdel key field1 [field2] | 删除一个或多个哈希表字段 |
hincrby key field increment | 指定字段的整数值加上步长 |
命令 | 说明 |
---|---|
sadd key member1 [member2] | 向集合添加一个或多个成员 |
scard key | 获取key集合的成员数 |
sismember key member | 判断 member 元素是不是集合 key 的成员 |
spop key | 移除并返回集合中的一个随机元素 |
srandmember key [count] | 返回集合中一个或多个随机数 |
sinter k1[k2] | 返回全部集合的交集 |
sdiff k1[k2] | 返回全部集合的差集 |
命令 | 说明 |
---|---|
zcard key | 获取有序集合的成员数 |
zadd key score1 member1 [score2 member2] | 向有序集合添加一个或多个成员,或者更新已存在成员的分数 |
zcount key min max | 统计集合中分数在min和max之间的元素个数 |
zscore key member | 获取有序集合中元素对应的分数 |
zrank | 获取元素在集合中的排名,从小到大,最小的是0 |
zrevrange key start stop [WITHSCORES] | 返回有序集中指定区间内的成员,经过索引,分数从高到底 |
zscan key cursor [MATCH pattern] [COUNT count] | 迭代有序集合中的元素 |
本文只举了一些经常使用指令,更多命令请参考redis.io/commands