Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster. Learn more →
关键字: 内存数据存储结构, 可用于 DB 缓存 消息中间件。
redis-cli --raw 解决终端直连redis中文乱码问题。
String
set:
mset:
get:
mget
getset
setex:
setnx:
msetnx: 批量不存在即设置,批量key中一个存在整个都不会生效。(⚠️注意: 没有msetex)
append: 如果有则追加,没有则效果等同于set

incr:
decr
incrby
decrby
incrbyfloat:

redis中字符串都是二进制存储 a对应的ascii码对应为97,对应的二进制则是00110001BIT相关的命令就是对二进制进行操作的,下面是Stirng的bit操作相关的命令.
getbit

setbit:
如果执行 setbit name4 0 1 则get name4: eickie\X00\X00……\X00
bitcount:
计算key对应value的二进制表示里的1的个数。

List
Set
sadd
smembers
sismember
smismember2:
sdiff:
sdiffstore:
sinter:
sinterstore:
sunion:
sunionstore:
scard:
smove:
spop :
sscan: 参考SCAN
sintercard:sintercard : Version7.*才有的。 只计算k1和k2 两个set的交集元素的个数, 还能与limit关键字一起返回, 如果交集个数为5,超过了limit后面的数3,则直接返回3. sadd a 1 2 3 4 5 6 sadd b 2 3 4 5 6 7 saddintercard a b limit 3 结果: 3.
hash
| – | – | |
|---|---|---|
| hset | ||
| hmset | ||
| hget | ||
| hmget | ||
| hexists | ||
| hkeys | ||
| hvals | ||
| hgetall | ||
| hlen | ||
| hincrby | ||
| hincrbyfloat | ||
| hsetnx | ||
| hrandfield | ||
| hscan | ||
Zset
| – | – | |
|---|---|---|
| zadd | ||
| zscore | ||
| zrange | ||
| zrevrange | ||
| zrangeyscore | ||
| zcount | 返回score在某个区间内的元素个数 | |
| zcard | ||
| zrank / zrevrank | 返回元素排名(正排 / 倒排) | |
| zdiff | ||
| zdiffstore | ||
| zinter | ||
| zinterstore | ||
| zunion | ||
| zunionstore | ||
| zmpop | 注意截至目前版本没有zpop | |
| zpopmax | ||
| zpopmin | ||
| bzpopmax | ||
| bzpopmin | ||
| bzmpop | ||
官网
公共命令 (可操作性所有数据类型)
del 删除key
del 删除某个key
dump 序列化key
exists 判断key是否存在
ttl 查看key的有效期 单位为s
pttl 查看key的有效期 单位为ms
expire 设置key的有效期,当key重新set新值后会失效
persist 移除key的过期时间
keys name* 查看所有name开头的key
补充
四种数据类型(, 除string外的: list/set/zset/hash) 在第一次使用时, 如果容器不存在, 就自动创建一个. 如果里面没元素了, 就自动删除容器释放内存.
1 |