Ⅱ.Redis进阶

1. String

获取所有键
keys *

设置键值
set key value

获取值
get key value

删除键值
delete key value

不重复设置键值
setnx key value
没有key成功设置,有不设置并返回0

设置键值与有效时间
setex key 10 value
设置键值与有效期,过期自动清除,查询返回nil

替换字符串
setrange key 10 value
(从0开始)从第10位开始替换字符串

批量设置键值
mset key1 value1 key2 value2 ......

批量获取值
mget key1 key2 ......

值自增
incr key
incrby key 10

值自减
decr
decrby key 10

字符串值追加
append key 12345

获取字符串值长度
strlen key

2. Hash

设置map
hset KEY key value

获取map
hset KEY

批量添加map
hmset KEY key1 value1 key2 value2......

批量获取map
hmget KEY key1 key2......

hsetnx 不重复
hsetex 定时

删除指定value
hdel KEY key

是否存在指定value
hexists KEY key

获取所有key
hkeys KEY

获取所有value
hvals KEY

获取所有keyvalue
hgetall KEY

3. list(栈,队列)

4. set,zset

5. 高级指令

判断是否有对应key
exists key

设置key过期时间
expire key 10
查看key过期时间
ttl key
取消过期时间
persist key

选择数据库(0-15,redis数据库一共16份)
redis3.0后分片转换为集群
select 10
移动key到数据库
move key 10

重命名key
rename key1 key2 

打印命令
echo

查看key数量
dbsize

查看redis信息
info

清空当前数据库
flushdb

清空所有数据库
flushdball

6. redis事务

multi开启事务
exec提交事务
discard取消事务
redis的事务不满足一致性

7. redis持久化

RDB

dump.rdb
conf文件
save a b 在a秒内有超过b个key被修改就发起快照保存

AOF

类似redo log
appendonly yes 启动aof,有三种方式
appendfsync always 有写入就做持久化,效率低,可靠性高
appendfsync everysec 每秒写入
appendfsync no 完全依赖操作系统,无法保证可靠性

你可能感兴趣的:(Ⅱ.Redis进阶)