Redis常见功能和优势
1:哨兵(sentinel)和复制(replication)哨兵可以管理多个redis服务器,提供监控、提醒以及自动的故障转移的功能。replication 负责让一个redis服务器可以配备多个备份的服务器redis就是利用这2个功能来保证redis的高可用的2:事务一次性执行多个命令,保证原子性3:LUA脚本在事务的基础上,如果我们需要在服务器一次性执行更复杂的操作,lua就可以用上了4:持久
一:常见功能:
1:哨兵(sentinel)和复制(replication)
哨兵可以管理多个redis服务器,提供监控、提醒以及自动的故障转移的功能。replication 负责让一个redis服务器可以配备多个备份的服务器
redis就是利用这2个功能来保证redis的高可用的
2:事务
一次性执行多个命令,保证原子性
3:LUA脚本
在事务的基础上,如果我们需要在服务器一次性执行更复杂的操作,lua就可以用上了
4:持久化
redis会把内存中的数据写入硬盘中,在redis重启的时候加载这些数据,最大限度的降低缓存丢失带来的影响。
5:集群(cluster)
单台服务器的资源总是有上线的,cpu资源和IO资源可以通过主从复制,进行读写分离,把一部分cpu和io的压力转移到从服务器上,类似mysql的主从同步
二:redis的优势
1:速度快,因为数据存在于内存中,类似hashmap的优势就是查找和操作的时间复杂度都是o(1)
2:支持丰富的数据类型,string、list、hash、set、zset
3:支持事务,操作都是原子性的。
4:丰富的特性:可用于缓存、消息,按key设置过期时间,过期自动删除
redis单点吞吐量 tps 8万/秒 qps达10w/秒
三:QPS和TPS
QPS:应用系统每秒钟最大能接受的用户访问量
每秒钟处理完请求的次数,这里是处理完,具体是指发出请求到服务器处理处理完成功返回结果。可以理解在server中有个counter,每处理一个请求+1,1秒钟后counter=QPS
TPS:每秒钟最大能处理的请求数
四:redis和memcached比较
1:memcached所有的值都是简单的字符串,redis支持更多的数据类型
2:redis速度比memcached快很多
3:redis可以持久化数据
4:redis支持数据备份,即master-slave模式的数据备份
五:redis淘汰策略
在Redis中,允许用户设置最大使用内存大小server.maxmemory,当Redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。
1.volatile-lru:从已设置过期的数据集中挑选最近最少使用的淘汰
2.volatile-ttr:从已设置过期的数据集中挑选将要过期的数据淘汰
3.volatile-random:从已设置过期的数据集中任意挑选数据淘汰
4.allkeys-lru:从数据集中挑选最近最少使用的数据淘汰
5.allkeys-random:从数据集中任意挑选数据淘汰
6.noenviction:禁止淘汰数据
redis淘汰数据时还会同步到aof
更多推荐
所有评论(0)