首页 > 技术文章 > redis学习之路之初识redis

minmin123 2020-08-31 17:48 原文

Redis 的数据结构简介

1、redis 中的字符串

 

 

 

127.0.0.1:6379> set hello1 world
OK
127.0.0.1:6379> get hello1
"world"
127.0.0.1:6379> del hello1
(integer) 1
127.0.0.1:6379> get hello1
(nil)
127.0.0.1:6379> type hello # 查看当前key的类型
myRedis:0>set views 0 # 设置浏览量

"OK"
myRedis:0>get views 
"0"
myRedis:0>incr views  # 浏览量自增1
"1"
myRedis:0>INCRBY views  1 # 设置浏览量自增10
 "11"
myRedis:0>

 

2、redis中的列表

 

 

 

 

 

 

 1 127.0.0.1:6379> rpush list-key item
 2 (integer) 1
 3 127.0.0.1:6379> rpush list-key item1
 4 (integer) 2
 5 127.0.0.1:6379> rpush list-key item2
 6 (integer) 3
 7 127.0.0.1:6379> rpush list-key item
 8 (integer) 4
 9 127.0.0.1:6379> get list-key
10 (error) WRONGTYPE Operation against a key holding the wrong kind of value
11 127.0.0.1:6379> lrange list-key
12 (error) ERR wrong number of arguments for 'lrange' command
13 127.0.0.1:6379> lrange list-key 0-1
14 (error) ERR wrong number of arguments for 'lrange' command
15 127.0.0.1:6379> lrange list-key 0 - 1
16 (error) ERR wrong number of arguments for 'lrange' command
17 127.0.0.1:6379> lrange list-key 0 -1
18 1) "item"
19 2) "item1"
20 3) "item2"
21 4) "item"
22 127.0.0.1:6379> lindex list-key 1
23 "item1"
24 127.0.0.1:6379>
25 127.0.0.1:6379> lpop list-key
26 "item"
27 127.0.0.1:6379> lrange list-key 0 -1
28 1) "item1"
29 2) "item2"
30 3) "item"

3、redis的集合(set)

注意:redis存储的集合是无序的

 

 

 

 

 

 

 1 127.0.0.1:6379> sadd set-key item
 2 (integer) 1
 3 127.0.0.1:6379> sadd set-key item1
 4 (integer) 1
 5 127.0.0.1:6379> sadd set-key item2
 6 (integer) 1
 7 127.0.0.1:6379> sadd set-key item3
 8 (integer) 1
 9 127.0.0.1:6379> sadd set-key item
10 //1 表示元素已经添加到集合中
11 //0 表示元素已经存在在集合中
1 127.0.0.1:6379> smembers set-key
2 1) "item"
3 2) "item3"
4 3) "item1"
5 4) "item2"
6 //获取集合包含的所有元素
1 127.0.0.1:6379> sismember set-key item4
2 (integer) 0
3 127.0.0.1:6379> sismember set-key item
4 (integer) 1
5 //0 表示不存在
6 //1 表示存在
1 127.0.0.1:6379> srem set-key item3
2 (integer) 1
3 127.0.0.1:6379> srem set-key item3
4 (integer) 0
5 
6 //使用srem 命令会返回被移除元素的数量
1 127.0.0.1:6379> smembers set-key
2 1) "item2"
3 2) "item"
4 3) "item1"

4、redis 的散列

 

 

 

 1 127.0.0.1:6379> hset hash-key sub-key1  value1
 2 (integer) 1
 3 127.0.0.1:6379> hset hash-key sub-key2  value2
 4 (integer) 1
 5 127.0.0.1:6379> hset hash-key sub-key1  value2
 6 (integer) 0
 7 127.0.0.1:6379> hgetall hash-key
 8 1) "sub-key1"
 9 2) "value2"
10 3) "sub-key2"
11 4) "value2"
12 127.0.0.1:6379> hdel hash-key sub-key2
13 (integer) 1
14 127.0.0.1:6379> hdel hash-key sub-key2
15 (integer) 0
16 127.0.0.1:6379> hget hash-key sub-key1
17 "value2"
18 127.0.0.1:6379> hgetall hash-key
19 1) "sub-key1"
20 2) "value2"
21 127.0.0.1:6379>
22 //注意:key是唯一的,重复set 会覆盖之前的值

 

5、redis的有序集合

 

 

 

 1 127.0.0.1:6379> zadd zset-key 728 membe1
 2 (integer) 1
 3 127.0.0.1:6379> zadd zset-key 899 member0
 4 (integer) 1
 5 127.0.0.1:6379> zadd zset-key 899 member0
 6 (integer) 0
 7 127.0.0.1:6379> zrange zset-key 0 -1e withsorces
 8 (error) ERR value is not an integer or out of range
 9 127.0.0.1:6379> zrange zset-key 0 -1e withscores
10 (error) ERR value is not an integer or out of range
11 127.0.0.1:6379> zrange zset-key 0 -1 withscores
12 1) "membe1"
13 2) "728"
14 3) "member0"
15 4) "899"
16 127.0.0.1:6379> zrange zset-key 0 800 withscores
17 1) "membe1"
18 2) "728"
19 3) "member0"
20 4) "899"
21 127.0.0.1:6379> zrangebyscore zset-key 0 800 withscores
22 1) "membe1"
23 2) "728"
24 127.0.0.1:6379> zrem zset-key member0
25 (integer) 1
26 127.0.0.1:6379> zrem zset-key member0
27 (integer) 0
28 127.0.0.1:6379> zrange zset-key 0 -1 withscores
29 1) "membe1"
30 2) "728"

 

推荐阅读