Redis作为非关系数据库的一种,是当下主流的缓存技术。(展开全文后右下角可查看目录)
Redis基础语法
string
基本操作
set key value
get key
del key
mset k1 v1 k2 v2 k3 v3
mget k1 k2 k3
strlen age
在 value 后追加
- append age
扩展操作
增加和减少
incr key
incrby key increment
incrbyfloat key increment
decr key
decrby key increment
设置时效性(具有生命周期)
setex key second val
psetex key milliseconds val
使用json存储信息
- set user : id : 789 {id:789,blogs:789.fans:123}
表名:主键名:主键值:字段名
hash
基本操作
hset key field value
hget key field
hgetall key
hdel key field1 [field2]
多组操作
hmset key field1 value1 field2 value2…
hmget key field1 field2…
获取哈希表的字段数量
- hlen key
获取哈希表的字段是否存在
- hexists key field
扩展操作
获取所有字段名或者字段值
keys key
hvals key
设定指定字段增加指定范围的值
hincrby key field increment
hincrbyfloat key field increment
String与Hash的区别
string更有整体化,适合读
hash把field分散开,适合修改
List
(其实就是个双端队列,采用双向链表实现)
基本操作
添加/修改数据
lpush key value1 [value2] …
lpush key value1 [value2] …
获取数据
lrange key start stop
lindex key index
llen key
移除数据(为栈的顺序)
lpop key
rpop key
扩展操作
规定时间内获取并移除数据
blpop key timeout
brpop key timeout
移除指定操作(count为删除的个数)
- lrem key count value
Set
(就当作C++的Set理解了,元素只能出现一次)
基本操作
添加数据
- sadd key member1 [member2]
获取数据
- smembers key
删除数据
srem key member1 [member2]
获取集合数据总量
scard key
判断集合中是否包含指定数据
- sismember key member
扩展操作
随机获取指定数量的数据
- srandmember key [count]
随机获取某个数据并且移出集合
- spop key [count]
求两个集合的交、并、差集
sinter key1 [key2]
sunion key [key2]
sdiff key1 [key2]
求两个集合的交、并、差集并存储到指定集合中
sinterstore dest key1 [key2]
sunionstore dest key1 [key2]
sdiffstore dest key1 [key2]
将指定数据从原始集合中移动到目标集合中
- smove source dest member
Sorted_set
(排序的set,添加了可排序的字段)
基本操作
添加数据
- zadd key score1 member1
获取全部数据
zrange key start stop [withscores]
zrevrange key start stop [withscores]
删除数据
- zrem key member1 [member2…]
按条件获取数据
zrangebyscore key min max [withscores] [limit]
zrevrangebyscore key min max [withscores] [limit]
按条件删除数据
zremrangebyrank key strat stop
zremrangebyscore key min max
获取集合总量
zcard key
zcount key min max
集合交、并操作
zinterstroe dest nums key1 [key2]
zunionstroe dest nums key1 [key2]
可使用help + 指令查看所有操作
扩展操作
获取数据对应的索引(排名)
zrank key member
zrevrank key member
score值获取与修改
zscore key member
zincrby by increment member