Redis中的数据是以Map形式保存的,map中的value有String,Hash,List,set,
Redis的数据类型---String
添加一组数据
其中str1是key,abc是value
取数据
因为直接将key的值计算成一个数据,然后存到相关的位值,等到取得时候会计算传过来的key的值,然后就可以直接找到存储的value的位值,而不用去遍历,所以存取速度很快
redis所有的数据是保存在内存中的,所以存取速度快
自增长
查看redis中存储的所有的key
> 127.0.0.1:6379> keys *
创建一个key并value自增
127.0.0.1:6379> incr key1
自减
将key的值为keys,value的值为5的value减1
127.0.0.1:6379> decr key1
可以看到,这里不论是数字还是字母,都是以String类型的数据来存储的
删除键
127.0.0.1:6379> del key2
Redis的数据类型---Hash
创建
key:hash1
key:field1
value:1
127.0.0.1:6379> hset hash1 field1 1
取数据
0.0.1:6379> hget hash1 field1
查看数据
查看第一层key
127.0.0.1:6379> keys *
查看第二层key
127.0.0.1:6379> hkeys hash1
查看value中存的所有的值
127.0.0.1:6379> HVALS hash1
查看value和key
127.0.0.1:6379> HGETALL hash1
删除数据
127.0.0.1:6379> hdel hash1 field3
Redis的数据类型---List
添加数据
从左边添加---从右往左加,类似于数轴,零点左边的数 -1 -2 -3 -4 -5 -6
lpush list 1 2 3 4 5 6
从右边添加---从左往右加,类似于数轴,零点右边的数 1 2 3 4 5 6
rpush list 1 2 3 4 5 6
显示插入的数据
lrange list 0 -1
0 起始元素,-1结束元素(取全部) 也可以取12 11.。。。
取元素,取完之后就会从列表中消失
从左边取,左边的第一个数据被拿走
lpop list
从右边取,右边的第一个数据被拿走
rpop list
Redis的数据类型---Set
set集合中的数据是不能重复的,重复的数据会被自动过滤
添加
sadd set1 a b c d e
删除
删除元素a
srem set1 a
查看数据
SMEMBERS set1
seta集合中相对于setb集合中特有的元素
SDIFF seta setb
取交集
SINTER seta setb
取并集
SUNION seta setb
Redis五种数据类型(总结)
String:key-value(做缓存)
Redis中所有的数据都是字符串。命令不区分大小写,key是区分大小写的。Redis是单线程的。Redis中不适合保存内容大的数据。
get、set、
incr:加一(生成id)
Decr:减一
Hash:key-fields-values(做缓存)
相当于一个key对于一个map,map中还有key-value
使用hash对key进行归类。
Hset:向hash中添加内容
Hget:从hash中取内容
List:有顺序可重复
192.168.25.153:6379> lpush list1 a b c d
(integer) 4
192.168.25.153:6379> lrange list1 0 -1
1) "d"
2) "c"
3) "b"
4) "a"
192.168.25.153:6379> rpush list1 1 2 3 4
(integer) 8
192.168.25.153:6379> lrange list1 0 -1
1) "d"
2) "c"
3) "b"
4) "a"
5) "1"
6) "2"
7) "3"
8) "4"
192.168.25.153:6379>
192.168.25.153:6379> lpop list1
"d"
192.168.25.153:6379> lrange list1 0 -1
1) "c"
2) "b"
3) "a"
4) "1"
5) "2"
6) "3"
7) "4"
192.168.25.153:6379> rpop list1
"4"
192.168.25.153:6379> lrange list1 0 -1
1) "c"
2) "b"
3) "a"
4) "1"
5) "2"
6) "3"
192.168.25.153:6379>
Set:元素无顺序,不能重复
192.168.25.153:6379> sadd set1 a b c c c d (添加)
(integer) 4
192.168.25.153:6379> smembers set1 (查看)
1) "b"
2) "c"
3) "d"
4) "a"
192.168.25.153:6379> srem set1 a (删除)
(integer) 1
192.168.25.153:6379> smembers set1 (查看)
1) "b"
2) "c"
3) "d"
192.168.25.153:6379>
SortedSet(zset):有顺序,不能重复
192.168.25.153:6379> zadd zset1 2 a 5 b 1 c 6 d (添加)
(integer) 4
192.168.25.153:6379> zrange zset1 0 -1 (查看)
1) "c"
2) "a"
3) "b"
4) "d"
192.168.25.153:6379> zrem zset1 a (删除)
(integer) 1
192.168.25.153:6379> zrange zset1 0 -1 (查看)
1) "c"
2) "b"
3) "d"
192.168.25.153:6379> zrevrange zset1 0 -1 (查看)
1) "d"
2) "b"
3) "c"
192.168.25.153:6379> zrange zset1 0 -1 withscores
1) "c"
2) "1"
3) "b"
4) "5"
5) "d"
6) "6"
192.168.25.153:6379> zrevrange zset1 0 -1 withscores
1) "d"
2) "6"
3) "b"
4) "5"
5) "c"
6) "1"
192.168.25.153:6379>
Key命令
设置key的过期时间。
Expire key second:设置key的过期时间
Ttl key:查看key的有效期
Persist key:清除key的过期时间。Key持久化。
192.168.25.153:6379> expire Hello 100
(integer) 1
192.168.25.153:6379> ttl Hello
(integer) 77
应用相关----Redis的持久化方案