Redis数据类型
1. Redis的五大数据类型
- String(字符串)
- Hash(类似Java的Map)
- List(类似Java的LinkedList)
- Set(集合)re
- Zset(sorted set 有序集合)
2. Redis常用操作命令
redis配置文件中默认提供16个database,并默认0号
另外要注意,对于key和value,redis是区分大小写的,而命令不区分大小写
select index (0-15)可以切换database
dbsize 查看当前数据库中的key个数
flushdb 清空当前database
flushall 清空所有database
clear 清屏
2.1 key相关命令
keys *
查看当前database中所有的key
exists key
判断某个key是否存在
在Redis中,通常命令执行的结果返回1
表示成功,0
表示失败(并非错误只是没有匹配或者没有执行).
move key db
从当前库将key移动到db类似shell的mv命令
expire key seconds
为key设定过期时间,到期后key会被移除
10秒后
ttl key
查看key还有多少秒过期,-1表示永不过期,-2表示已经过期
type key
查看key的类型
2.2 string常用命令
set key value
设置key的值为value, key存在则覆盖, 不存在则新增.
get key
获取key的值
append key value
在key对应的值尾部追加value字符串
strlen key
返回key对应的值的字符串长度
incr key
将key的对应的值+1
decr key
将key的对应的值-1
incrby key increment
将key的对应的值增加increment,其值只能是整数,可以是负数
decrby key decrement
将key的对应的值减少decrement,其值只能是整数,可以是负数
setrange key start end str
将key中start到end索引范围的内容替换为str
getrange key start end
按start和end的索引范围从key中获取相应的值,0 -1表示全部
setex key seconds value
设置key的值为value,并且设置失效时长为seconds
setnx key value
如果key不存在,则设置key的值为value,否则不做操作
mset key1 value1 key2 value2 ....
multiset,一次性设置多个key-value
mget key1 key2 ....
multiget,一次性获取多个key对应的value
msetnx key1 value1 key2 value2 ....
当key1,key2,...都不存在时,为他们设置对应的value
getset key value
先get,在将值设置为value