您的位置:首页 > 数据库 > Redis

Redis各种数据类型操作

2016-06-15 00:00 811 查看
摘要: Redis各种数据类型操作

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Redis