Redis阶段性复习

阶段性复习Redis,持续加载~~~

Redis->Nosql数据库
	概念:16个库默认0号库
	要能说明多路IO复用
	redis命令是原子性的,要么成功都成功,要么失败都失败
Redis Memcached
区别 多数据类型常用:list、set、hash、zset 只有key-value键值对
持久化 支持持久化 无持久化
实现机制 单线程+IO多路复用 多线程+锁
redis启动:
	1、备份redis.conf
	2、修改redis.conf文件里的daemonize no 改成yes,让服务以守护进程方式后台启动
	3、启动命令:执行redis-server /myredis/redis.conf
	4、客户端连接:redis-cli
		多个端口:redis-cli -p 6379
	5、测试连接成功:ping,返回pong为成功
Redis五大数据类型:(相关命令务必清楚)
	-》String
		String是二进制安全的。
		图片视频存到数据库里,要序列化成二进制到库里,取出来再通过序列化显示播放正常,最大支持512M
	-》List
		双向链表,一般都是做塞右取
	-》Set
		无序数组,插入数据没有顺序,但是不能重复,底层是一个value为null的hash表,所以添加,删除,查找的复杂度都是O(1)。
	-》hash
		hash是一个String类型的field和value的映射表,hash特别适合用于存储对象。一个大K对应多个field,每个field对应存着value。
	-》zset
		有序集合,一个大K对应多个Score,每个score对应一个value,适合做排行榜实现。
redis事务:
	1、从输入Multi命令开始,输入命令为组队阶段,不执行,直到输入exec后进入执行阶段,在执行阶段没有隔离性或原子性操作或回滚或隔离级别,一个命令没执行不会影响其他命令执行
	2、redis使用乐观锁,读数据不上锁,写数据看版本号,上多个锁只有一个成功
	3、这里要考虑超卖问题

Redis持久化:

优点 缺点 特点
RDB 节省磁盘空间、恢复速度快 用了写时拷贝技术,单数数据过大是也比较消耗性能、redis出现问题会丢数据 快照方式存持久化文件
AOF 备份机制更稳健,丢失数据概率更低、可读的日志文本,通过AOF文件,处理误操作 占用磁盘空间大、持续很长时间恢复备份速度慢、每次读写发生IO操作会有点慢性能压力大、存在个别bug造成恢复不成功 日志方式存储
rdb的保存策略,及手动保存快照save及bgsave比较特点要了解
redis主从复制:
	只能一个主机,多个从机。mysql真正能写的主机也只有一个。
	一主二仆模式:
		1、切入点:slave从头开始复制
		2、从机不可写
		3、主机shutdown后原地待命,等待主机启动
		4、从机down后,看是在内存还是配置文件中,配置文件中还可以找到主机
	哨兵模式:
		一直监听着主机,如果发现主机down了,推一个从机当主机
redis集群:
	差不多要6台,3主3从
	好处:
		· 实习扩容
		· 分摊压力,写操作根据key的转换hash码取模决定存在哪个节点哪个机器里,分摊写压力。
		· 无中心配置
	不足:
		· 多键操作不被支持
		· 事务不支持,lua脚本不支持
		· 集群出的晚,已经有了别的集群再换过来复杂度大

你可能感兴趣的:(Linux,Redis,阶段性复习)