redis高级实用特性
1. 安全性
2. 主从复制
3. 事务处理
4. 持久化机制
5. 发布订阅消息 : 可以做一个消息系统
6. 虚拟内存的使用
一 . 安全性
设置客户端连接后进行任何其他指定前需要使用的密码 .
警告 : 因为redis 速度相当快 , 所以在一台比较好的服务器下 , 一个外部的用户可以在一秒钟进行150k次的密码尝试 , 这意味着你需要指定非常非常强大的密码来防止暴力破解 .
> requirepass passwordStr // 在redis.conf 中添加这句话即可.
设置完成后需要重启服务才能生效 .
连接redis server时 需要添加密码
> redis-cli -a password // -a 参数代表是密码 .
二 . 主从复制
1. Master 可以拥有多个slave
2. 多个slave 可以连接同一个master外 , 还可以连接到其它slave
3. 主从复制 不会阻塞master , 在同步数据时 , master 可以继续处理client请求.
4. 提高系统的伸缩性
主从复制过程 :
1. slave 与 master 建立连接 , 发送sync同步命令
2. master 会启动一个后台进程 , 将数据库快照保存到文件中, 同时master主进程会开始收集新的写命令并缓存 .
3. 后台完成保存后 , 就将此文件发送给slave
4. slave 将此文件保存到硬盘上 .
配置主从服务器 :
配置slave服务器 , 只需要在slave的配置文件中加入以下配置
slaveof 192.168.1.1 6379 # 指定master的ip 和 端口
masterauth pwd # 这是主机的密码
查看主从信息 :
通过命令 info 即可 查看 , 有一个role 字段 ,如果是从机的话就是slave
事务处理 :
redis对事务的支持目前还比较简单 , redis 只能保证一个client发起的事务中的命令可以连续的执行 , 而中间不会插入其他client命令 , 当一个client在一个连接中发出multi命令时 , 这个连接会进入一个事务上下文 , 该连接后续的命令不会立即执行 , 而是先放到一个
multi : 打开事务 , 类似mysql begin
exec : 结束事务 , 类似mysql commit
乐观锁复杂事务控制
乐观锁 : 大多数是基于数据版本的记录机制实现的 . 即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表添加一个 version 字段来实现读取数据时 , 将此版本号一同读出 , 之后更新时 , 对此版本号加1 , 此时 , 将提交数据的版本号与数据库表对应记录的当前版本号进行比对 , 如果提交的数据版本号大于数据库当前版本号,则予以更新 , 否则认为是过期数据 .
snapshotting 方式
快照是默认的持久化方式 . 这种方式是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb . 可以通过配置设置自动做快照持久化的方式 , 我们可以配置redis在n秒内如果超过m个key呗修改就自动做快照 .
aof 方式
由于快照方式是在一定时间间隔做一次的 , 所以如果redis意外down掉的话 , 就会丢失最后一次快照后的所有修改 .
aof比快照方式有更好的持久化性 , 是由于在使用aof时, redis会将每一个收到的写命令都通过write函数追加到文件中, 当redis重启时会通过重新执行文件中保存的写命令来在内存中重建整个数据库的内容 .
redis高级实用特性的更多相关文章
- Redis学习第八课:Redis高级实用特性(二)
Redis高级实用特性 4.持久化机制 Redis是一个支持持久化的内存数据库,也就是说Redis需要经常将内存中的数据同步到硬盘来保证持久化.Redis支持两种持久化方式:(1).snapshott ...
- Redis学习第八课:Redis高级实用特性(一)
Redis高级实用特性 注:我学习的环境是vmware7.1 + ubantu10.10+ redis 3.0.2 1.安全性 设置客户端连接后进行任何其他指定前需要的密码.因为redis速度相当快, ...
- redis高级实用特性(2)
事务处理: redis对事务的支持目前还是比较简单,redis只能保证一个 client发起事务中的命令可以连续执行,而中间不会插入其他 client的命令,当一个client 在一个连接中发出mul ...
- redis高级实用特性(1)
1.安全性 2.主从复制 3.事务处理 4.持久化机制 5.发布订阅消息 6.虚拟内存的使用 安全性:设置客户端连接后进行任何其他指定前需要使用的密码 警告:因为redis速度相当快,所以在一台比较好 ...
- Redis 高级实用特性
1.安全性 设置客户端连接后进行任何其他操作前先验证密码. 因为Redis速度相当快,所以在一台比较好的服务器下,一个外部用户可以在一秒钟进行150K次的密码尝试,这意味着需要指定一个非常强大的密码来 ...
- Redis数据库高级实用特性:持久化机制
Redis数据库高级实用特性:持久化机制 大型web系统数据缓存设计 Redis高级特性:虚拟内存的使用技巧 Redis高级实用特性:安全性与主从复制 Memcached.Redis OR Tair
- NoSQL之Redis高级实用命令详解--安全和主从复制
Android IOS JavaScript HTML5 CSS jQuery Python PHP NodeJS Java Spring MySQL MongoDB Redis NOSQL Vim ...
- redis高级应用特征
Redis高级应用特性 1.安全性 2.主从复制 3.事务处理 4.持久化机制 5.发布订阅消息 6.虚拟内存的使用 安全性 设置客户端连接后进行任何其他指定前需要使用的密码. 警告:因为redis速 ...
- redis 高级特性 不要太好用
Redis高级特性及应用场景 redis中键的生存时间(expire) redis中可以使用expire命令设置一个键的生存时间,到时间后redis会自动删除它. 过期时间可以设置为秒或者毫秒精度. ...
随机推荐
- CMake学习(1)---简单程序与库
cmake是linux平台下重要的工具,可以方便的组织makefile.之前一直在windows平台下进行软件开发,在vs2010的IDE里,只要一点run程序就能跑出结果.但是程序的编译并没有那么简 ...
- newClass a = Func(3)中隐藏的操作
缘起 #include <iostream> #include <bitset> using namespace std; class A { public: A() { co ...
- asp.net开源CMS推荐
随着网络技术的发展,目前国内CMS的开发商越来越多,各自都有其独特的优势,大家在选择的时候觉得眼花缭乱,不知道选择哪个比较好,我个人认为开源的CMS还是适合我们学习及研究使用,下边就几个国内的asp. ...
- Android权限安全(3)权限的分级和自定义权限
Android的不同权限分级 Normal 一般apk都可以用, Dangerous 一般apk都可以用,但有提示 SignatureOrSystem 特定的private key签名的或系统的apk ...
- C++ STL之查找算法
C++STL有好几种查找算法,但是他们的用法上有很多共同的地方: 1.除了binary_search的返回值是bool之外(查找的了返回true,否则返回false),其他所有的查找算法返回值都是一个 ...
- bzoj2431: [HAOI2009]逆序对数列
dp. f[i][j]表示放置第i个数有j个逆序对的方案数. s[i][j]维护前缀和(f[i][0]~f[i][j]). 状态转移方程 f[i][j]=s[i-1][j]-s[i-1][max(j- ...
- 關於NPOI的一點補充和示例
最近看到很多人分享NPOI的用法. 但是很多都不是完整示例或者並沒有實戰效果. 剛好最近有個VB.NET的項目有升級原有的oledb select sheet$的做法. 很明顯,NPOI有更好的穩定性 ...
- UVa 524 Prime Ring Problem【回溯】
题意:给出n,把从1到n排成一个环,输出相邻两个数的和为素数的序列 照着紫书敲的, 大概就是这个地方需要注意下,初始化的时候a[0]=1,然后dfs(1),从第1个位置开始搜 #include< ...
- asp.net获取当前页面源码并生成静态页面
StringWriter stringWriter = new StringWriter(); HtmlTextWriter htmlWriter = new HtmlTextWriter(strin ...
- 自定义View,圆形头像
1. 效果图 2. xml中 <com.etoury.etoury.ui.view.CircleImg android:id="@+id/user_info_head_img" ...