Redis 学习
一. Redis 简介
Redis: 是一个基于key-value 形式进行存储的内存型数据库。
-
存储方式 key-value
-
数据存储在内存中。(优点:效率高。理论值。每秒10K数据读取)
-
定位数据库软件(作用**:存储数据**)
-
Redis 是一个Nosql数据库(不使用数据库SQL命令操作数据库软件)
nosql(NOT only SQL):不是必须使用关系型数据库时可以使用它
不适用数据比较复杂的情况
NoSLQ主要作用
NoSQL数据库当做缓存工具来使用
把某些使用频率较高的内容不仅仅存储到关系型数据库中还存储到NoSQL中
(考虑到:NoSQL和关系型数据库数据同步的问题)
二.Redis持久化策略
1.rdb
-
默认的持久化策略
-
每隔一定时间后把内存中数据持久化到 dump.rdb文件中。
-
缺点:
数据过于集中。
可能导致最后的数据没有持久化到dump.rdb中
解决办法: 使用命令save 或 gbsave 手动持久化
-
2.aof
-
监听Redis的日志文件,监听如果发现执行了修改,删除,新增命令,立即根据这条命令把数据持久化
-
缺点:
由于这种操作有点像关系型数据库,会导致效率变低。
-
三.Redis 命令
1.命令手册
http://doc.redisfans.com/
2.Redis 数据常用的类型
例如:String Hash List Set SortedSet(有序集合)
四.Redis 几个常见的概念
1.Redis 默认有16384 solt(槽),每个槽可以存储多个hash值(散链算法)
-
默认没有密码
-
修改密码只需进入redis/bin 下的redis.conf 中的requirepass注释给去掉 后面加密码即可
4.jdis
4.1.不依赖容器
4.2.Jedis 是Redis 客户端工具jar
五.Jedis 集群
1.集群的概念
-
多个业务单元协同工作组成的整体称为集群。
- 每个业务单元都是相同的
-
当集群中业务单元中超过二分之一down 整个集群就不可用
- 在搭建集群的时候建议使用基数个(down 的概率偏小)
-
一主一备模式
-
会给每一个业务单元创建一个备份业务单元,原来的业务单元(master)
后产生的叫作(slave)
集群搭建例子:根据down的概率 即为为3个 根据一主一备即需要6个 redis
-
-
集群和伪集群
- 集群:每个业务单元都安装到单独的服务器上
- 伪集群:所有业务单元都安装到同一个服务器上,通过端口区分不同的业务单元
-
集群的搭建方法