redis笔记(三)
redis配置文件
配置文件对单位大小写不敏感
tcp-backlog 511 高并发环境连接数
tcp-keepalive 单位为秒 0 表示不会进行keepalive检测,,,建议设置为60
redis密码设置
config get requirepass 查看
设置密码 config set requirepass "12345"
输入密码方式 auth 12345
limits 限制最大值
maxmemory <bytes>
maxclients
maxmemory-poilcy
maxmemory-samples
redis持久化:
rdb (redis database) aof (append only file )
rdb:在指定的时间间隔内将数据集快照写入磁盘中,也就是快照,恢复时将快照文件直接读到内存
用一个新的fork进程来持久化,主进程不进行io操作 dump.rdb
如果想禁用RDB持久化的策略,只要不设置任何save指令或者save传入一个空字符串

在该条件下触发持久化,生成dump.rdb文件
stop-writes-on-bgsave-error:
如果配置成no,表示不在意数据不一致或者可以采用其他手段和控制

rdbcompression:
对于存储到磁盘中的快照,可以设置是否进行压缩存储,yes,则redis采用LZF算法进行压缩,不愿消耗CPU来进行压缩,可以关闭

rdbchecksum:
在存储快照后,可以让redis使用CRC64算法进行数据校验,但是会增加10%性能消耗,可以关闭以提升性能

aof
以日志的形式来记录每个操作,将redis执行过的所有指令记录下来(读操作不记录)
只允许追加文件,不允许改写文件,redis启动后悔读取文件重现建立数据,也就是说,redis
重启就根据日志文件的内容将指令从前到后执行一次已完成数据的回复
在同一目录下存在dump.rdb appendonly.aof 时,默认去找 aof ,若aof文件出错,则redis服务无法启动
此时采用自动修复方案:redis-check-aof --fix appendonly.aof 可以自动删除文件中不符合语法的内容 dump文件也可以修复
appendonly no (默认为no使用则需要改成yes)
appendfsync:
always同步持久化,每次数据变更都会立即被记录到磁盘,性能差但数据完整性好
everysec 默认设置 异步操作,每秒记录 一秒内宕机 数据丢失
no

no-appendfsync-on-rewrite:重写时是否可以运用Appendfsync 默认no 即可 保证数据安全性
auto-aof-rewrite-percentage:设置重写的基准值
auto-aof-rewrite-min-size:设置重写的基准值

rewrite:
AOF采用文件追加方式,文件会越来越大为避免出现此种情况,新增重写机制,当AOF文件大小超过设定阈值时,redis会启动AOF文件的内容压缩
重写触发机制:redis会记录上次重写时AOF文件大小,默认配置为当AOF文件大小是上次rewrite后的大小的一倍且文件大于64M时触发
劣势:对于相同的数据集 aof文件远大于 rdb文件 恢复速度慢 aof运行效率要慢于rdb,每秒同步策略效率较好,不同步效率和rdb相同
redis事物:
可以一次执行多个命令,本质是一组命令的集合。一个事物中所有的命令都会被序列化,按顺序地串行化执行而不会被其他命令插入 ,不加塞
discard 取消事物内所有的命令
exec 执行所有事物块内的命令
multi 标记一个事物快的开始
unwatch 取消watch命令对所有key的监视
watch key [key ...] 监视一个或者多个key,如果事务执行之前key被其他命令改动,那么事物将被打断
注意:在整个过程中,如果有错误出现,(命令语法错误,直接报错)整个事物不能正常执行
但是如果已经加入的QUEUED了,那么只是错误的无法正常执行,其他的可以正常执行
redis支持部分支持事物
redis笔记(三)的更多相关文章
- redis相关笔记(三.redis设计与实现(笔记))
redis笔记一 redis笔记二 redis笔记三 1.数据结构 1.1.简单动态字符串: 其属性有int len:长度,int free:空闲长度,char[] bur:字符数组(内容) 获取字符 ...
- openresty 学习笔记三:连接redis和进行相关操作
openresty 学习笔记三:连接redis和进行相关操作 openresty 因其非阻塞的调用,令服务器拥有高性能高并发,当涉及到数据库操作时,更应该选择有高速读写速度的redis进行数据处理.避 ...
- 【Redis笔记(四)】 Redis数据结构 - list链表
原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50573605 经过前面的介绍,我们学习了Redis中string字符串.hash ...
- Redis 笔记 01:入门篇
Redis 笔记 01:入门篇 ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- 《CMake实践》笔记三:构建静态库(.a) 与 动态库(.so) 及 如何使用外部共享库和头文件
<CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...
- Mastering Web Application Development with AngularJS 读书笔记(三)
第一章笔记 (三) 一.Factories factory 方法是创建对象的另一种方式,与service相比更灵活,因为可以注册可任何任意对象创造功能.例如: myMod.factory('notif ...
- Python 学习笔记三
笔记三:函数 笔记二已取消置顶链接地址:http://www.cnblogs.com/dzzy/p/5289186.html 函数的作用: 給代码段命名,就像变量給数字命名一样 可以接收参数,像arg ...
- 《MFC游戏开发》笔记三 游戏贴图与透明特效的实现
本系列文章由七十一雾央编写,转载请注明出处. 313239 作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5 ...
随机推荐
- hdu6438 Buy and Resell 买卖物品 ccpc网络赛 贪心
题目传送门 题目描述: 有n座城市,每座城市都可以对一个物品进行一次的买进或者卖出,可以同时拥有多个物品,计算利润最大值,并且交易次数要最少.(买入卖出算两次操作) 思路: 建立两个小根堆 优先队列, ...
- Educational Codeforces Round 3 C
C. Load Balancing time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- lintcode - 统计比给定整数小的数的个数(两种方法)
class Solution { public: /* * @param A: An integer array * @param queries: The query list * @return: ...
- django ORM 连表查询2
set() 更新model对象的关联对象 book_obj=models.Book.objects.first() book_obj.authors.set([2,3]) 把book_obj这个对象重 ...
- python3 zip()函数笔记
a=[1,2,3]b=[4,5,6] for A ,B in zip(a,b):#用zip()函数整体打包 print(A,B)
- Thinkphp3.2邮件发送
第一步:加入这两个文件 第二部:在common的function中添加代码 function think_send_mail($to, $name, $subject = '', $body = '' ...
- Nohup后台运行程序
场景:我现在需要跑脚本批量处理一些数据,但是我又不想盯着控制台看这个脚本的输出结果,想把这些输出结果记录到一个日志文件里面 方案:可以使用 Linux 的 nohup 命令,把进程挂起,后台执行 用法 ...
- spring和springmvc父子容器关系
一般来说,我们在整合spring和SpringMVC这两个框架中,web.xml会这样写到: <!-- 加载spring容器 --> <!-- 初始化加载application.xm ...
- 百度webuploader 上传演示例子
前端代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="baiduWebU ...
- android Activity启动过程(三)从栈顶Activity的onPause到启动activityon的Resume过程
ActivityStack.startPausingLocked() IApplicationThread.schudulePauseActivity() ActivityThread.sendMes ...