1:Redis五种数据结构简介 String list set hash zset
举例如下:
1:String——字符串
127.0.0.1:6379> set name “2”
OK
127.0.0.1:6379> get name
“2”
2:Hash——字典
//建立哈希,并赋值
127.0.0.1:6379> HMSET user:001 username antirez password P1pp0 age 34
OK
//列出哈希的内容
127.0.0.1:6379> HGETALL user:001
1) “username”
2) “antirez”
3) “password”
4) “P1pp0”
5) “age”
6) “34”
//更改哈希中的某一个值
127.0.0.1:6379> HSET user:001 password 12345
(integer) 0
//再次列出哈希的内容
127.0.0.1:6379> HGETALL user:001
1) “username”
2) “antirez”
3) “password”
4) “12345”
5) “age”
6) “34”
3:List——列表
LPUSH在lists的左侧插入一个新元素,用RPUSH在lists的右侧插入一个新元素,用LRANGE命令从lists中指定一个范围来提取元素。
//新建一个list叫做mylist,并在列表头部插入元素”1”
127.0.0.1:6379> lpush mylist “1”
//返回当前mylist中的元素个数
(integer) 1
//在mylist右侧插入元素”2”
127.0.0.1:6379> rpush mylist “2”
(integer) 2
//在mylist左侧插入元素”0”
127.0.0.1:6379> lpush mylist “0”
(integer) 3
//列出mylist中从编号0到编号1的元素
127.0.0.1:6379> lrange mylist 0 1
1) “0”
2) “1”
//列出mylist中从编号0到倒数第一个元素
127.0.0.1:6379> lrange mylist 0 -1
1) “0”
2) “1”
3) “2”
4:Set——集合
//向集合myset中加入一个新元素”one”
127.0.0.1:6379> sadd myset “one”
(integer) 1
127.0.0.1:6379> sadd myset “two”
(integer) 1
//列出集合myset中的所有元素
127.0.0.1:6379> smembers myset
1) “one”
2) “two”
//判断元素1是否在集合myset中,返回1表示存在
127.0.0.1:6379> sismember myset “one”
(integer) 1
//判断元素3是否在集合myset中,返回0表示不存在
127.0.0.1:6379> sismember myset “three”
(integer) 0
//新建一个新的集合yourset
127.0.0.1:6379> sadd yourset “1”
(integer) 1
127.0.0.1:6379> sadd yourset “2”
(integer) 1
127.0.0.1:6379> smembers yourset
1) “1”
2) “2”
//对两个集合求并集
127.0.0.1:6379> sunion myset yourset
1) “1”
2) “one”
3) “2”
4) “two”
5:Sorted Set——有序集合
2:Redis 优势
性能极高,redis的读的速度11万次/s,写的速度8.1万/s
丰富的数据类型—string,map,list,sets,Sorted Set五种数据结构
丰富的特性–redis还支持通知,key的过期,publish/subscribe等特性
原子–redis所有操作都是原子性的,同时redis还支持对几个操作和并后的原子性执行
3:redis持久化的两种方式以及优缺点
RDB方式——将redis某一时刻的数据持久化到磁盘,快照式的持久化方式
AOF方式——只允许追加不允许修改的文件
redis两种持久化方式的优缺点
AOF保证数据不丢失,作为恢复数据的第一选择,RDB可以快速地进行数据恢复
4:Redis作为缓存(六种淘汰策略)
1:不删除策略——–达到最大的内存限制时,如果需要更多的内存,直接返回错误信息
2:所有的key通用—–优先删除最近最少使用的key
3:只限于设置啦expire的部分,优先删除最近最少使用的key
4:所有的key通用,随机删除一部分key
5:只限于设置啦expire的部分,随机删除一部分key
6:只限于设置啦expire的部分,优先删除剩余时间最短的key
5:redis的过期策略
定时过期—–创建定时器,立即删除过期的数据
惰性过期—–只有当访问一个key时,才会判断该key是否已过期
定期过期—–每隔一定时间,会扫描一定数量的数据库expires字典的key
(责任编辑:IT) |