Redis各种数据类型操作。
查看目前键值和类型:
[root@localhost src]# ./redis-cli
127.0.0.1:6379> keys *
1) "log_raw_data"
127.0.0.1:6379> type log_raw_data
list
127.0.0.1:6379> exit
[root@localhost src]#
1 string字符串。一个键值最多存储512兆。二进制安全,可存储图片或序列化对象。
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> get hello
"world"
127.0.0.1:6379> del hello
(integer) 1
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379>
2 hash哈希。每个hash可以存储2的32次方-1个键值对。
127.0.0.1:6379> help hmset
HMSET key field value [field value ...]
summary: Set multiple hash fields to multiple values
since: 2.0.0
group: hash
127.0.0.1:6379> hmset lovers jack lily tom linda lucas ammanda
OK
127.0.0.1:6379> keys *
1) "lovers"
127.0.0.1:6379> hgetall lovers
1) "jack"
2) "lily"
3) "tom"
4) "linda"
5) "lucas"
6) "ammanda"
127.0.0.1:6379> hmset lovers alex sharon
OK
127.0.0.1:6379> hgetall lovers
1) "jack"
2) "lily"
3) "tom"
4) "linda"
5) "lucas"
6) "ammanda"
7) "alex"
8) "sharon"
127.0.0.1:6379> del lovers
(integer) 1
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379>
3 list列表。列表可以存储2的32次方-1个元素。
127.0.0.1:6379> help lpush
LPUSH key value [value ...]
summary: Prepend one or multiple values to a list
since: 1.0.0
group: list
127.0.0.1:6379> lpush welcome Jack Linda Lucy
(integer) 3
127.0.0.1:6379> keys *
1) "welcome"
127.0.0.1:6379> lrange welcome 0 10
1) "Lucy"
2) "Linda"
3) "Jack"
127.0.0.1:6379> help lrange
LRANGE key start stop
summary: Get a range of elements from a list
since: 1.0.0
group: list
127.0.0.1:6379> lrange welcome 0
(error) ERR wrong number of arguments for 'lrange' command
127.0.0.1:6379> lrange welcome 0 -1
1) "Lucy"
2) "Linda"
3) "Jack"
127.0.0.1:6379> lpush welcome Sharon Andy Roger
(integer) 6
127.0.0.1:6379> lrange welcome 0 -1
1) "Roger"
2) "Andy"
3) "Sharon"
4) "Lucy"
5) "Linda"
6) "Jack"
127.0.0.1:6379> del welcome
(integer) 1
127.0.0.1:6379>
4 set集合。集合中最大成员数为2的32次方-1个。
127.0.0.1:6379> help sadd
SADD key member [member ...]
summary: Add one or more members to a set
since: 1.0.0
group: set
127.0.0.1:6379> sadd db oracle mysql
(integer) 2
127.0.0.1:6379> keys *
1) "db"
127.0.0.1:6379> smembers db
1) "oracle"
2) "mysql"
127.0.0.1:6379> sadd db sqlserver nosql
(integer) 2
127.0.0.1:6379> smembers db
1) "oracle"
2) "nosql"
3) "sqlserver"
4) "mysql"
127.0.0.1:6379> sadd db oracle nosql
(integer) 0
127.0.0.1:6379> smembers db
1) "nosql"
2) "sqlserver"
3) "mysql"
4) "oracle"
127.0.0.1:6379> sadd db ORACLE
(integer) 1
127.0.0.1:6379> smembers db
1) "sqlserver"
2) "mysql"
3) "oracle"
4) "ORACLE"
5) "nosql"
127.0.0.1:6379> del db
(integer) 1
127.0.0.1:6379>
5 zset有序集合。
127.0.0.1:6379> help zadd
ZADD key [NX|XX] [CH] [INCR] score member [score member ...]
summary: Add one or more members to a sorted set, or update its score if it already exists
since: 1.2.0
group: sorted_set
127.0.0.1:6379> zadd cc 0 redis
(integer) 1
127.0.0.1:6379> zadd cc 0 mongodb
(integer) 1
127.0.0.1:6379> zadd cc 0 rabitmq
(integer) 1
127.0.0.1:6379> zadd cc 0 rabitmq
(integer) 0
127.0.0.1:6379> zrangebyscore cc 0 1000
1) "mongodb"
2) "rabitmq"
3) "redis"
127.0.0.1:6379> zadd cc -1 redis
(integer) 1
127.0.0.1:6379> zrangebyscore cc 0 1000
1) "oracle"
2) "sqlserver"
3) "mysql"
127.0.0.1:6379> zrangebyscore cc -2 1000
1) "redis"
2) "oracle"
3) "sqlserver"
4) "mysql"
127.0.0.1:6379>
6 hyperloglog。计算基数。
127.0.0.1:6379> help pfadd
PFADD key element [element ...]
summary: Adds the specified elements to the specified HyperLogLog.
since: 2.8.9
group: hyperloglog
127.0.0.1:6379> pfadd nn redis
(integer) 1
127.0.0.1:6379> pfadd nn mongodb
(integer) 1
127.0.0.1:6379> pfadd nn mysql
(integer) 1
127.0.0.1:6379> pfcount nn
(integer) 3
127.0.0.1:6379> pfadd nn redis
(integer) 0
127.0.0.1:6379> pfcount nn
(integer) 3
127.0.0.1:6379> pfadd nn REDIS
(integer) 1
127.0.0.1:6379> pfcount nn
(integer) 4
127.0.0.1:6379>