1. 什么是Redis
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
2. Redis数据类型
z. key的一些操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| set key val
get key
del key
expire key seconds
ttl key
pexpire key milliseconds
pttl key
exists key
keys *
keys pattern
select index
move key index
type key
|
a. String
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| SET key val
GET key
GETSET key val
GETBIT key offset
SETBIT key offset val
SETEX key seconds val
SETNX key val
PSETEX key milliseconds val
MGET key1 [key2] ...
MSET key1 val1 [key2 val2]...
MSETNX key1 val1 [key2 val2]...
GETRANGE key startIndex endIndex
SETRANGE key offset val
APPEND key val
STRLEN key
INCR key
INCRBY key increment
DECR key
DECRBY key decrement
|
b. List
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| LPOP key
LPUSH key value1 [value2]
LPUSHX key value
RPOP key
RPUSH key value1 [value2]
RPUSHX key value
LINDEX key index
LSET key index value
LLEN key
LRANGE key start stop
LREM key count value
LINDEX key index
LINSERT key BEFORE|AFTER pivot value
LTRIM key start stop
BLPOP key1 [key2 ] timeout
BRPOP key1 [key2 ] timeout
|
c. Hash
Hash采用的数据结构是哈希表,每个hash中最多可以存2^31-1个键值对,约40多亿个
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| HSET key field val
HGET key field
HDEL key field1 [field2]
HEXISTS key field
HKEYS key
HVALS key
HLEN key
HGETALL key
HMSET key field1 val1 [field2, val2]...
HMGET key field1 [field2]...
|
d. Set
e. ZSet
参考资料
[1] redis中文官方网站
[2]