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. java集合的关系

    在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便.这些接口和类有很多对抽象数据类型操作的API,而这是我们常用的且在数据结 ...

  2. Android系统input按键处理流程(从驱动到framework)【转】

    本文转载自:http://blog.csdn.net/jwq2011/article/details/51234811 (暂时列出提纲,后续添加具体内容) 涉及到的几个文件: 1.out/target ...

  3. HDU3394 Railway —— 点双联通分量 + 桥(割边)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3394 Railway Time Limit: 2000/1000 MS (Java/Others)   ...

  4. Iphone 启动图的尺寸

    APP图标设置 - 取Images.xcassets中的AppIcon, 图标尺寸 29pt * 2x => 58 * 5829pt * 3x => 87 * 8740pt * 2x =& ...

  5. linux CANopenSocket 初试

    /************************************************************************************** * linux CANo ...

  6. BZOJ_3172_[Tjoi2013]单词_后缀自动机

    BZOJ_3172_[Tjoi2013]单词_后缀自动机 Description 某人读论文,一篇论文是由许多单词组成.但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次. ...

  7. 【SCOI 2005】 互不侵犯

    [题目链接] 点击打开链接 [算法] 和HDU2167类似 先搜出一行内符合的状态,然后,f[i][j][k]表示第i行,第j种状态,放了k个,合法的方案,DP即可 [代码] #include< ...

  8. 关于Lucene全文检索相关技术

    Lucene技术专门解决海量数据下的模糊搜索问题. Lucene主要完成的是数据预处理.建立倒排索引,及搜索.排名.高亮显示等功能 全文检索相关词语概要: 单词和文档矩阵: 文档(Document): ...

  9. redis过期键删除策略以及大key删除方法

    今天遇到了一个前同事挖的坑,刷新缓存中商品信息时先让key过期,然后从数据库里取最新数据然后再放到缓存中,他是这样写的 redisTemplate.expire(CacheConst.GOOGS_PR ...

  10. Oracle:ORA-12154: TNS:could not resolve the connect identifier specified

    ORA-12154: TNS: 无法解析指定的连接标识符 注册表:regedit 安装oracle后用Net Manager 配置好服务名称之后,测试成功,可是PL/SQL无法连接 http://we ...