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笔记(三)的更多相关文章

  1. redis相关笔记(三.redis设计与实现(笔记))

    redis笔记一 redis笔记二 redis笔记三 1.数据结构 1.1.简单动态字符串: 其属性有int len:长度,int free:空闲长度,char[] bur:字符数组(内容) 获取字符 ...

  2. openresty 学习笔记三:连接redis和进行相关操作

    openresty 学习笔记三:连接redis和进行相关操作 openresty 因其非阻塞的调用,令服务器拥有高性能高并发,当涉及到数据库操作时,更应该选择有高速读写速度的redis进行数据处理.避 ...

  3. 【Redis笔记(四)】 Redis数据结构 - list链表

    原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50573605 经过前面的介绍,我们学习了Redis中string字符串.hash ...

  4. Redis 笔记 01:入门篇

    Redis 笔记 01:入门篇 ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...

  5. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  6. 《CMake实践》笔记三:构建静态库(.a) 与 动态库(.so) 及 如何使用外部共享库和头文件

    <CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...

  7. Mastering Web Application Development with AngularJS 读书笔记(三)

    第一章笔记 (三) 一.Factories factory 方法是创建对象的另一种方式,与service相比更灵活,因为可以注册可任何任意对象创造功能.例如: myMod.factory('notif ...

  8. Python 学习笔记三

    笔记三:函数 笔记二已取消置顶链接地址:http://www.cnblogs.com/dzzy/p/5289186.html 函数的作用: 給代码段命名,就像变量給数字命名一样 可以接收参数,像arg ...

  9. 《MFC游戏开发》笔记三 游戏贴图与透明特效的实现

    本系列文章由七十一雾央编写,转载请注明出处. 313239 作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5 ...

随机推荐

  1. 3. mybatis # 与 $ 的区别

    mybatis # 与 $ 的区别 1.# % 号必须写在test中 应用场景:模糊查询 配置文档mapper.xml <select id="selectBlogByTitle&qu ...

  2. java经典学习路线

    恩,做开发的工作已经三年多了,说起来实在是惭愧,自己的知识树还像一棵小草一样,工作中使用到了许多的知识和技术,不过系统性不够.根基不牢.并且不够深入!当然,慢慢的我也更加的清楚,我需要学习一些什么样的 ...

  3. P5020 货币系统 (NOIP2018)

    传送门 BFS解法 显然如果一个面额A可以被其他面额表示出来 那么这个面额A就没用了 且如果A不能被其他面额表示,那么A一定有用(A本身的值只有自己可以表示) 发现面额最大不超过 25000 那么设 ...

  4. BestCoder Round #64 1002

    Sum  Accepts: 322  Submissions: 940  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 65536/655 ...

  5. day25 网络编程之socket sc架构

    1.  为什么要学习socket? socket就是网络通信的工具,任何一门语言都有socket,他不是任何一个语言的专有名词,而是大家通过自己的程序与其他电脑进行网络通信的时候都用它. 2.  客户 ...

  6. JDK Throwable

    Throwable 1. 使用大量数组和List常量: private static final StackTraceElement[] UNASSIGNED_STACK = new StackTra ...

  7. jQuery 全屏滚动插件 fullPage.js 参数说明

    fullPage.js 是一个基于 jQuery 的插件,它能够很方便.很轻松的制作出全屏网站,主要功能有: 支持鼠标滚动 支持前进后退和键盘控制 多个回调函数 支持手机.平板触摸事件 支持 CSS3 ...

  8. 如何在eclipse使用git插件

    how to commit file to remote? --> Team --> Synchronize Workspace --> add to index --> co ...

  9. python 运算符-赋值运算

    结果是值 算数运算: a = 10 * 10 赋值运算: a = a + 1  a  +=1  结果是布尔值 比较运算: a  = 1 > 5 逻辑运算: a =  1 > 6 or 1= ...

  10. Unity Animation.CrossFade Animation.Play

    using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerCo ...