高级命令

  • keys * 返回满足条件的所有key,可以模糊匹配
  • exists 是否存在指定的key
  • persist 取消过期时间
  • select 选择数据库 (0-15,总共16个数据库)
  • move key index 将当前数据库的 key 移动到给定的数据库 db 当中
  • randomkey 随机返回数据库里的一个key
  • rename 重命名key
  • echo 打印命令
  • dbsize 查看数据库key的数量
  • info 获取数据库的信息
  • config get 获取配置信息
  • flushdb 清空数据库

Redis安全

  • 定期打补丁
  • 禁止一些高危命令
  • 以低权限运行 Redis 服务
  • 禁止外网访问 Redis
  • 设置访问密码 足够复杂,防止暴力破解
  • 访问权限 内网通过acl限制可以访问redis的ip和端口

Redis部署方式-

单点模式

  • 安装完以后直接启动 ./redis-server ../redis.conf

主从模式

  • 一个master可以拥有多个slave,多个slave同时连接一个master,节点在复制时不会影响master对外提供服务,提供系统的伸缩性。
  • 主从复制的过程 :slave与master建立连接,发送sync同步命令; master开启一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存;后台完成保存后,就将文件发送给slave ;slave将此文件保存到硬盘上
  • 配置 :修改redis.conf, 增加slaveof配置,设置masterauth

哨兵模式

  • 概述 :支持集群
  • 版本 :运行Sentinel
  • 配置 :Sentinel 选举 ;版本以及版本传机制播
  • 一致性
  • 持久化

Redis Cluster

  • Redis Cluster是Redis的分布式解决方案,在Redis 3.0版本正式推出的,有效解决了Redis分布式方面的需求。当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster架构达到负载均衡的目的。
  • 数据分布理论: 分布式数据库首要解决把整个数据集按照分区规则映射到多个节点的问题,即把数据集划分到多个节点上,每个节点负责整个数据的一个子集。常见的分区规则有哈希分区和顺序分区。Redis Cluster采用哈希分区规则,因此接下来会讨论哈希分区规则。
  • 常见的哈希分区有以下几种: 节点取余分区 ;一致性哈希分区 ;虚拟槽分区

Redis集群数据分区

Redis集群功能限制

  • key批量操作支持有限。如:MSET``MGET,目前只支持具有相同slot值的key执行批量操作。
  • key事务操作支持有限。支持多key在同一节点上的事务操作,不支持分布在多个节点的事务功能。
  • key作为数据分区的最小粒度,因此不能将一个大的键值对象映射到不同的节点。如:hash、list。
  • 不支持多数据库空间。单机下Redis支持16个数据库,集群模式下只能使用一个数据库空间,即db 0

Redis集群模式

  • 安装ruby(大于2.2.2)
  • 安装redis
  • 集群配置
  • 安装gem
  • 安装ruby的redis包
  • redis-trib.rb构建集群

Redis事务详解

  • MULTI、EXEC、DISCARD和WATCH命令是Redis事务功能的基础。Redis事务允许在一次单独的步骤中执行一组命令,并且可以保证如下两个重要事项:
  • Redis会将一个事务中的所有命令序列化,然后按顺序执行。Redis不可能在一个Redis事务的执行过程中插入执行另一个客户端发出的请求。这样便能保证Redis将这些命令作为一个单独的隔离操作执行
  • 在一个Redis事务中,Redis要么执行其中的所有命令,要么什么都不执行。因此,Redis事务能够保证原子性。EXEC命令会触发执行事务中的所有命令
  • MULTI 用于标记事务块的开始
  • EXEC 在一个事务中执行所有先前放入队列的命令,然后恢复正常的连接状态
  • DISCARD 清除所有先前在一个事务中放入队列的命令,然后恢复正常的连接状态
  • WATCH 当某个事务需要按条件执行时,就要使用这个命令将给定的键设置为受监控的
  • UNWATCH 清除所有先前为一个事务监控的键

Redis持久化机制

  • RDB 持久化 RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,也是默认的持久化方式
  • save 900 1 #900秒内如果超过1个key被修改,则发起快照保存
  • save 300 10 #300秒内如超过10个key被修改,则发起快照保存
  • save 60 10000
  • AOF 持久化 aof是redis的一种记录数据库写操作的持久化方案,他会忠实的记录所有的写操作,并且以redis协议的格式存储在一个.aof文件中,在重启redis的时候,redis可以根据.aof文件的内容来恢复数据集
  • appendfsync always //收到写命令就立即写入到磁盘,效率最慢,但是保证完全的持久化
  • appendfsync everysec //每秒钟写入磁盘一次,在性能和持久化方面做了很好的折中
  • appendfsync no //完全依赖os 性能最好 持久化没保证

redis实战

  • 整合Springboot (单机版 、哨兵模式 、cluster )
  • 消息队列
  • session共享

Redis高级命令与特性以及单点模式的介绍相关推荐

  1. Redis入门到精通-Redis高级命令

    2019独角兽企业重金招聘Python工程师标准>>> 高级命令 ​ keys * : 返回满足的所有键 ,可以模糊匹配 ​ exists :是否存在指定的key,存在返回1,不存在 ...

  2. android fastboot命令大全,安卓手机Fastboot模式百科介绍,Fastboot命令大全

    fastboot,英语翻译意思是快速启动.在安卓手机中fastboot是一种比Recovery更底层的刷机模式(俗称引导模式).就是使用USB数据线连接手机的一种刷机模式.相对于某些系统(如ios)卡 ...

  3. linux redis 高级命令,Redis高级用法

    Redis认识误区 用get/set方式使用Redis 作为一个key value存在,很多开发者自然的使用set/get方式来使用Redis 实际上这并不是最优化的使用方法.尤其在未启用VM情况下, ...

  4. linux redis 高级命令,Redis的高级应用之事务处理、持久化操作、pub_sub、虚拟内存...

    事务处理 Redis对事务的支持目前还比较简单.Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令.当一个client在一个连接中发出multi命 ...

  5. Redis高级应用(二)--哨兵模式

    哨兵模式:用于监听主库,当确定主库宕机之后,从备库(从库)中选举一个转备为主.如果要使用哨兵模式,首先要实现三个redis实例之间的主从配置. 一.配置哨兵模式 创建并开启三个哨兵,拷贝sentine ...

  6. redis常用命令与特性

    keys * 返回满足条件的所有key,可以模糊匹配 select 数字0-15,进行数据库切换,默认0-15个 exists 是否存在指定的key persist 取消过期时间 select 选择数 ...

  7. redis高级命令2

    主服务负责数据的写,从服务器负责客户端的高并发来读 创建主从复制 clone不能让上面的mac地址不能重复,IP地址也不能重复 122和123是从服务器,我们修改二者的配置文件 其中 192.168. ...

  8. Redis 高级特性(2)—— 发布 订阅模式

    Redis 高级特性 -- 发布订阅 1. 发布-订阅介绍 "发布-订阅"模式包含两种角色,分别为发布者和订阅者.订阅者可以订阅一个或者若干个频道(channel),而发布者可以向 ...

  9. Redis05:Redis的高级特性:expire 生存时间、pipeline 管道、info命令、Redis的持久化、Redis 的安全策略、Redis监控命令-monitor

    一.expire 生存时间 Redis中可以使用expire命令设置一个键的生存时间,到时间后Redis会自动删除它. 它的一个典型应用场景是:手机验证码 我们平时在登录或者注册的时候,手机会接收到一 ...

最新文章

  1. 省市区三级联动 最新县及县以上行政区划代码 来源:国家统计局
  2. input输入框获取焦点时,光标置于最右
  3. 横竖屏切换时候Activity的生命周期的总结
  4. 阿斯顿马丁宣布放弃内燃机:2026年开始只销售电动或混动车
  5. 浙江科技学院计算机辅助教育试卷,(下册).-浙江科技学院经济与管理学院.doc
  6. 对Linux上的各类型压缩格式的一个总结
  7. mvc html 辅助方法,MVC HTML辅助类常用方法记录
  8. C#注册类方法到Lua
  9. Ps雅点设计合成大师
  10. ps存不了psd格式怎么办_ps打不开psd文件怎么办
  11. CrossAPP第一课
  12. 不拆微动,一招解决鼠标双击问题
  13. Latex aligned
  14. ODOO13 开发教程三 开始你的第一个模块
  15. 【C++】加油站加油
  16. 操作系统春招面试复习之:进程管理
  17. 购买亚马逊保险前,卖家须注意的问题值得你收藏!
  18. 大数据项目(BP神经网络)
  19. Python判断变量的数据类型
  20. suse bios版本_如何检查和更新BIOS版本

热门文章

  1. 我有机器人合体成一个大力神_史上最菜大力神(三)——SS加强级高塔
  2. python esp8266模块_ESP8266使用笔记之常用固件
  3. 计算机应用基础 第三版 实验报告,计算机应用基础实验报告(windows).doc
  4. matlab的灰色关联,五种灰色关联度分析matlab代码
  5. net能和python结合吗_如何不用安装python就能在.NET里调用Python库
  6. 【转】设备数据通过Azure Functions 推送到 Power BI 数据大屏进行展示
  7. 【转】D365 FO第三方访问https证书问题
  8. CSS块级元素与行内元素的区别和联系
  9. python编译make_Python在Linux下编译安装
  10. hive或mysql报错Too many connections