Redis概念
基于内存的高性能的Key-Value数据库。
Redis优点
1.速度快:因为数据在内存中,类似于HashMap,每秒可以处理超过10万次读写操作
2.支持丰富的数据类型:支持String,List,Set,Sorted Set,Hash五种基础的数据结构。单个Value的最大限制是1GB.
还提供Bitmap,HyperLogLog,GEO 等高级的数据结构
3.丰富的特性:订阅发布,key过期策略,事务,支持多个DB,Stream功能
4.持久化存储:提供了RDB和AOF两种数据的持久化存储方案
5.高可用:内置Redis Sentinel,提供高可用方案,实现主从故障自动转移
内置Redis Cluster,提供集群方案,基于实现槽的分片方案,从而支持更大的Redis规模
Redis缺点
1.由于Redis是内存数据库,所以,单台机器,存储的数据量和机器本身的内存太小,虽然Redis本身有Key过期策略,但还是需要提前预估和节约内存。
2 .如进行完整重同步,由于需要生成RDB文件,并进行传输,会占用主机的CPU,并消耗现网的带宽,
3.修改配置文件,进行重启,将硬盘的数据加载进内存,时间比较久。
Redis的数据结构
1.字符串String
![image-20200530171056190](/Users/zhaoyu/Library/Application Support/typora-user-images/image-20200530171056190.png)
![image-20200530171212362](/Users/zhaoyu/Library/Application Support/typora-user-images/image-20200530171212362.png)
过期和set命令
可以对key设置过期时间,到点自动删除,这个功能常用来控制缓存的失效时间
expire name 5:设置五秒后失效
setex name 5 peppers:设置五秒后失效
setnx name peppers: key不存在时,才进行set,否则不成功
![image-20200530171432185](/Users/zhaoyu/Library/Application Support/typora-user-images/image-20200530171432185.png)
原子计数:如果 value 值是一个整数,还可以对它进行自增操作。自增是有范围的,它的范围是 signed long 的最大最小值,超过了这个值,Redis 会报错,可以用来完成幂等的功能
![image-20200530171519735](/Users/zhaoyu/Library/Application Support/typora-user-images/image-20200530171519735.png)
2.list(列表)
Redis中的列表相当于linkedL