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. linux系统编程之进程(七):system()函数使用【转】

    本文转载自:http://www.cnblogs.com/mickole/p/3187974.html 一,system()理解 功能:system()函数调用“/bin/sh -c command” ...

  2. POJ3189 Steady Cow Assignment —— 二分图多重匹配/最大流 + 二分

    题目链接:https://vjudge.net/problem/POJ-3189 Steady Cow Assignment Time Limit: 1000MS   Memory Limit: 65 ...

  3. Tyvj:1729 文艺平衡树(saply练习)

    您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 4 1 Input 第一 ...

  4. c#自动登录

    c#自动登录 http://blog.csdn.net/eastmount/article/details/9703757

  5. python的termcolor模块

    termcolor是一个python包,可以改变控制台输出的颜色,支持各种terminal(WINDOWS的cmd.exe除外). 它支持下列的文字颜色: grey, red, green, yell ...

  6. CCF 201409-1 相邻数对 (水题)

    问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1. 输入格式 输入的第一行包含一个整数n,表示给定整数的个数. 第二行包含所给定的n个整数. 输出格式 输出一个整数,表示值正好 ...

  7. 【BZOJ3625】【CF438E】小朋友和二叉树

    题目 传送门 思路&做法 我们可以用\(v_i\)表示\(i\)在\(c\)中出现了几次, 用\(f_i\)表示权值为\(i\)的神犇树的总数, 于是 \[ f_x = \sum_{i = 0 ...

  8. bzoj 1195: [HNOI2006]最短母串【状压dp】

    我有病吧--明明直接枚举是否匹配就可以非要写hash,然后果然冲突了(--我个非酋居然还敢用hash 设f[s][i]为已选串状态为s并且最后一个串是i,还有预处理出g[i][j]表示最长有长为g[i ...

  9. input type="file"文件上传到后台读取

    html页面(表单采用bootStrap) js部分: //更换头像时把上传的图片post方式到控制器 <script type="text/javascript"> ...

  10. 利用爬虫将Yuan先生的博客文章爬取下来

    由于一次巧遇,我阅读了Yuan先生的一篇博客文章,感觉从Yuan先生得博客学到很多东西,很喜欢他得文章.于是我就关注了他,并且想阅读更多出自他手笔得博客文章,无奈,可能Yuan先生不想公开自己得博客吧 ...