在高并发Mysql集群挡不住的压力下,redis出来挡拆
redis基于内存的高性能<k,v>数据库
非关系型数据库 NoSql 的CAP特性 一致性,高可用性,分区容错性
在分布式环境下要么CP,AP
架构网站使用AP,再获取精准的数据CP,最后保存数据库CA
关系型数据库的ACID特性 原子性,一致性,隔离性,持久性
测试redis性能
[root@a ~]# whereis -b redis
./redis-benchmark -h 192.168.39.100
一‘redis五大数据类型
Hash(kv不变,V是<k,v>键值对),String,list(字符串链表),set,zset(关联一个score分数排序)
redis持久化
二‘持久化之RDB redis database
dump.rdb
修改RDB快照触发条件:1分钟内改了一万次/5分钟改了10次/15分钟改了一次
迅速备份 save命令
dump.rdb移到redis安装目录下,就会自动读回缓存信息
优势,适合大规模数据的恢复,对数据完整性和一致性要求不高
redis-check-dump --fix dump.rdb
三’持久化之AOF Append Only File
对写操作的备份
aof与rdb同时存在先执行aof,aof错误将无法启动redis
网络中断或者断电时
redis-check-aof --fix appendonly.aof检查排除不符合的语法规范行
四’redis事务
一组命令的集合,队列执行
行锁,表锁
watch指令,类似乐观锁,事务提交时,如果key的值已被别的客户端改变,比如某个list已被别的客户端push/pop过了,整个事务队列都不会被执行
通过watch命令在事务执行之前监控了多个keys,倘若在watch之后有任何key的值发生了变化,
exec命令执行的事务都将被放弃,同时返回nullmulti-bulk应答以通知调用者事务执行失败
五‘redis主从复制
master/slave 主机/从机
读写分离:主机写,从机读
原理:先增量复制,不能增量复制的全量复制(slave初始化或者重连的时候)
高性能,高并发
分布式缓存redis