1、消息订阅与发布

subscribe my1 订阅频道

psubscribe my1* 批量订阅频道,订阅以my1开头的所有频道

publish my1 hello 在指定频道中发布消息,返回值为接受到信息的用户数

类似于桌面右下角的小广告

->所以这里的频道没有创建这一说

2、多数据库

redis默认有16个数据库,0, 1, 2....15

默认所有的数据操作,都是在0号数据库上操作的

切换数据库:select 数据库名

把某个键值对进行数据库移植:move key 数据库名,在当前数据库该键值对就不存在了

清空当前数据库:flushdb

清空服务器-所有数据库:flushall

3、事务

mysql事务:目的是为了保证数据完整性,安全

redis事务:目的是为了进行redis语句的批量化执行

multi 开启事务

exec 提交事务

discard 事务回滚

->当事务中某几个语句出错,程序不会自动进行事务回滚,其他语句正常执行

4、基础命令

ping 如果返回PONG,代表连接成功,否则会返回no connected

quit 退出客户端,和ctrl+c一致

dbsize 返回当前数据库中的key数量

info 可以看到服务器和连接客户端的详细详细

5、持久化

持久化:把数据保存在硬盘上

关系型数据库 mysql,任何增删改语句,都是在硬盘上做的操作

内存(兔子):高效,断电数据就会消失

硬盘(乌龟):读写速度慢于内存,断电数据依旧存在

非关系型数据库redis:

默认情况下,所有的增删改,数据都是在内存中进行操作

断电以后,redis的部分数据会丢失,丢失的数据就是保存在内存中的数据

6、redis的两种持久化策略,RDB

这是默认的策略,照快照,保存的是一种状态

20G数据 ---> 几kb快照

优点:

1)快照保存数据速度极快,还原也快

2)适用与灾难备份,例如redis服务器所在机房失火,我要赶紧儿将redis数据备份

缺点:

1)小内存机器不适合使用

RDB机制符合要求就会照快照。(随时随地启动),会占用一部分系统资源,

例如我有1G的数据,他会先将1G的数据先复制过来(此时内存就被占用2G了),进行压缩、备份、运算-->转化成dump.rdb文件

这个动作是突然的

Linux 4G

3G数据,这时进行rdb机制,很有可能因为内存不足直接宕机(宕机后,服务器会关闭,属于非正常关闭)

使用场景:内存比较充裕的计算机

->在安装目录下默认有dump.rdb

RDB何时进行照快照:

服务器正常关闭时,照快照;redis-cli shutdown

key满足一定条件时,照快照;

save 900 1

save 300 10

save 60 10000

每15分钟至少有1个key发生变化,则照快照保存

7、redis的两种持久化策略,AOF

这是使用日志功能保存数据操作

1)同步规则:

每秒同步:安全性低,比较节省系统资源->怎么个理解法

每修改同步:只要有key变化语句,就进行AOF保存数据,比较安全,但是极为浪费效率

不同步(默认):不安全

2)AOF操作:只会保存导致key发生变化的语句

3)AOF配置:

3.1)将appendonly no 改成 appendonly yes,这一步时开启AOF机制;

3.2)策略的选择:将appendfsync always的注释去掉,每次key变化就进行保存

优点:

持续性占用极少量的内存空间,只有--KB,会专门开辟一个AOF日志程序;性价比很高哟

缺点:

1)日志文件会特别大,不适用于灾难备份;最终数据不多,但是过程语句复杂;

例子:1G数据,由10G的语句生成

2)恢复效率远远低于RDB

适用场景:内存比较小的计算机,所以大公司会选择用默认RDB的方式

redis 其他特性的更多相关文章

  1. redis 高级特性 不要太好用

    Redis高级特性及应用场景 redis中键的生存时间(expire) redis中可以使用expire命令设置一个键的生存时间,到时间后redis会自动删除它. 过期时间可以设置为秒或者毫秒精度. ...

  2. 【Redis】二、Redis高级特性

    (三) Redis高级特性   前面我们介绍了Redis的五种基本的数据类型,灵活运用这五种数据类型是使用Redis的基础,除此之外,Redis还有一些特性,掌握这些特性能对Redis有进一步的了解, ...

  3. Redis高级特性及应用场景

    Redis高级特性及应用场景 redis中键的生存时间(expire) redis中可以使用expire命令设置一个键的生存时间,到时间后redis会自动删除它. 过期时间可以设置为秒或者毫秒精度. ...

  4. redis的keys常用操作及redis的特性

    redis的keys常用操作 1.获得所有的keys: keys * 2.可以模糊查询 keys:keys  my* 3.删除keys:del mymkey1 mykey2 4.是否存在keys:ex ...

  5. Redis高级特性介绍及实例分析

    转自:http://www.jianshu.com/p/af7043e6c8f9   Redis基础类型回顾 String Redis中最基本,也是最简单的数据类型.注意,VALUE既可以是简单的St ...

  6. Redis 高级特性

    Redis 数据结构 Redis 常用的数据类型主要有以下五种: String Hash List Set Sorted set Redis 内部使用一个 redisObject 对象来表示所有的 k ...

  7. Redis的特性以及优势(附官网)

    NoSQL:一类新出现的数据库(not only sql) 泛指非关系型的数据库 不支持SQL语法 存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是KV形式 NoSQL的世 ...

  8. Redis GEO 特性在 LBS 中的应用总结

    什么是LBS LBS(Location Based Service),基于位置的服务. Redis和GEO Redis 是最热门的 nosql 数据库之一,它的最大特点就是快.所以在 LBS 这种需要 ...

  9. redis新特性

    摘自<redis 4.xcookbook> 从实例重启同步] 故障切换同步] 4.0之前从实例主键过期bug redis4新特性 Memory Command Lazy Free PSYN ...

  10. Redis的特性及运用

    Redis特性 一个产品的使用场景肯定是需要根据产品的特性,先列举一下Redis的特点: 读写性能优异 持久化 数据类型丰富 单线程 数据自动过期 发布订阅 分布式 这里我们通过几个场景,不同维度说下 ...

随机推荐

  1. HTML与JSP页面的区别

    HTML(Hypertext Markup Language)文本标记语言,它是静态页面,和JavaScript一样解释性语言,为什么说是解释性 语言呢?因为,只要你有一个浏览器那么它就可以正常显示出 ...

  2. BZOJ4259:残缺的字符串(FFT与字符串匹配)

    很久很久以前,在你刚刚学习字符串匹配的时候,有两个仅包含小写字母的字符串A和B,其中A串长度为m,B串长度为n.可当你现在再次碰到这两个串时,这两个串已经老化了,每个串都有不同程度的残缺. 你想对这两 ...

  3. AutoIT: GUISetFont VS GUICtrlSetFont

    GUISetFont 可以设置默认字体,后面的资源都会用该字体,而 GUICtrlSetFont 可以对特定控件的字体进行设置. ;Combo,setfont, GUICtrlSetFont $fon ...

  4. ab压力测试-突破最大线程数

    ab压力测试中,发现你一次最多只能启动1024个线程 默认情况下,一个线程的栈要预留1M的内存空间 而一个进程中可用的内存空间只有2G,所以理论上一个进程中最多可以开2048个线程 但是内存当然不可能 ...

  5. 小程序-demo:小程序示例-page/component

    ylbtech-小程序-demo:小程序示例-page/component 以下将展示小程序官方组件能力,组件样式仅供参考,开发者可根据自身需求自定义组件样式,具体属性参数详见小程序开发文档. 1. ...

  6. Redis学习记录

    参考资料: http://www.dengshenyu.com/%E5%90%8E%E7%AB%AF%E6%8A%80%E6%9C%AF/2016/01/09/redis-reactor-patter ...

  7. TCP/IP协议的建立连接与关闭连接过程

    一.建立连接(三次握手) 第一次握手:建立连接时,客户端发送SYN(seq=x)包到服务器,并进入SYN_SENT状态,等待服务器的确认.SYN:同步序列编号(Synchronize Sequence ...

  8. Windows NT/NTLM 加密

    Hash,一般翻译为“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是散 ...

  9. property_get 与 property_set 的返回值(转载)

    转自:http://wzw19191.blog.163.com/blog/static/13113547020103218265162/ /* property_get: returns the le ...

  10. E20180305-hm-xa

    raw adj. 生的,未加工的; 无经验的; 新近完成的; 发炎的,疼痛的; payload n. 有效载荷; (航天器.卫星的) 装备; (车辆等的) 装载货物; (炸弹.导弹的) 爆炸力;