Redis高级命令及特性

  • keys * 返回满足的所有键值(*表示模糊匹配)
  • exists 是否存在指定的key(返回1表示存在,0表示不存在)
  • expire 设置某个key的过期时间,使用ttl查看剩余时间(参数单位是秒,返回-2表示已过期,返回-1表示没有设置过期时间)
  • perisist 取消过期时间
  • select 选择数据库 数据库为0到15(一共16个数据库)默认进入的是0数据库
  • move [key] [数据库下标] 将当前数据中的key转移到其他数据库中
  • randomkey 随机返回数据库里的一个key
  • rename 重命名key
  • echo 打印命令
  • dbsize 查看数据库的key数量
  • info 获取数据库信息
  • config get 实时转储收到的强求(返回相关的配置信息)
  • config get * 返回所有配置(也就是redis-config文件的精简版)
  • flushdb 清空当前数据库,flushall 清空所有数据库

Redis的安全性

  因为redis速度相当快,所以在一台比较好的服务器下,一个外部永不在1s内可以进行15W次的密码尝试 ,这意味着你需要设定一个非常强大的密码来防止暴力破解。

  1. vi编辑redis.config文件,找到下面内容,保存修改
      #requirepass foobared
      requirepass ***
  2. 重启服务器 pkill redis-server
      再次进入 keys * 会发现没有权限进行查询,输入密码 auth *** 则成功进入,每次进入都要输入密码,还有一种简单的方式:
      /usr/local/redis/bin/redis-cli - a ***

主从复制

  1. master可以拥有多个slave
  2. 多个slave可以连接同一个master外,还可以连接其他的slave
  3. 主从复制不会阻塞master,在同步数据时,master可以继续处理client请求
  4. 提供系统的伸缩性

主从复制过程

  1. slave与master建立连接,发送sync同步命令
  2. master会开启一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存
  3. 后台完成保存后,就将文件发送给slave
  4. slave将此文件保存到硬盘上

主从复制配置

  1. clone服务器之后修改slave的IP地址
  2. 修改配置文件:/usr/local/redis/etc/redis.conf
        第一步:slaveof <masterip> <mastport>
        第二步:masterauth <master-password>
  3. 使用info查看role角色即可知道是主服务或从服务

发布与订阅

redis 提供简单的发布订阅功能

使用subscribe [频道] 进行订阅

使用publish [频道] [发布内容] 进行发布消息广播

架构师养成记--32.Redis高级(安全 主从复制)的更多相关文章

  1. 架构师养成记--35.redis集群搭建

    前记:redis哨兵经验之谈.哨兵做主从切换可能要花费一两秒,这一两秒可能会丢失很多数据.解决方法之一是在java代码中做控制,try catch 到 链接断开的异常就sleep 一两秒钟再conti ...

  2. 架构师养成记--29.redis开篇

    主要有从下几点讲解 NOSQL(Redis) 简介.redis安装与部署 Redis基础事件类型详解 Redis高级命令 Redis与java的使用 Redis集群搭建 Redis集群与spring的 ...

  3. 架构师养成记--34.Redis持久化

    ---恢复内容开始--- redis是一个支持持久化的内存数据库,也就是搜redis需要经常将内存中的数据同步到硬盘来保证持久化.redis持久化有两种方式. snapshotting(快照)默认方式 ...

  4. 架构师养成记--33.Redis哨兵、redis简单事务

    Redis哨兵 有了主从复制,如果我想想对主从服务器进行监控,在redis2.6后提供了哨兵机制,2.6有哨兵1.0版本,并不稳定.2.8以后的哨兵功能才稳定起来. 顾名思义,哨兵就是监控Redis系 ...

  5. 架构师养成记--31.Redis的几种类型

    String类型 Redis一共分为五种基本数据类型:String.Hash.List.Set.ZSet String类型是包含很多张类型的特殊类型,并且是二进制安全的.比如对序列化的对象进行存储,比 ...

  6. 架构师养成记--30.Redis环境搭建

    Redis的安装 下载地址http://redis.io/download 安装步骤: 首先需要安装gcc,把下载好的redis-3.0.0-rc2.tar.gz 放到 /usr/local 文件夹下 ...

  7. 架构师养成记--20.netty的tcp拆包粘包问题

    问题描述 比如要发ABC DEFG HIJK 这一串数据,其中ABC是一个包,DEFG是一个包,HIJK是一个包.由于TCP是基于流发送的,所以有可能出现ABCD EFGH 这种情况,那么ABC和D就 ...

  8. 架构师养成记--15.Disruptor并发框架

    一.概述 disruptor对于处理并发任务很擅长,曾有人测过,一个线程里1s内可以处理六百万个订单,性能相当感人. 这个框架的结构大概是:数据生产端 --> 缓存 --> 消费端 缓存中 ...

  9. 架构师养成记--14.重入锁ReentrantLock 和 读写锁 ReentrantReadWriteLock

    ReentrantLock 有嗅探锁定和多路分支等功能,其实就是synchronized,wait,notify的升级. this锁定当前对象不方便,于是就有了用new Object()来作为锁的解决 ...

随机推荐

  1. Django基础学习七之如何配置django+mysql

    很久没有更新博客了,也有段时间没有持续性的学习了,感觉堕落了,今天继续开始学习吧 今天主要来学习一下在django下配置mysql的数据库和使用admin用户管理数据库 1.在project中的set ...

  2. jQuery的基础dom和css操作

    1.元素以及内容操作 $(function () { // alert($("a").html()); // 获取元素中间的html内容,包括标签和文本内容 // alert($( ...

  3. C/C++互相调用

    参考: http://www.cnblogs.com/Yogurshine/p/3913073.html http://blog.chinaunix.net/uid-24118190-id-29853 ...

  4. TokuDB的索引结构–分形树的实现

    分形树简介 原文:http://www.bitstech.net/2015/12/15/tokudb-index-introduction/ 分形树是一种写优化的磁盘索引数据结构. 在一般情况下, 分 ...

  5. TWO PHASES OF ANGULAR 2 APPLICATIONS

    Angular 2 separates updating the application model and reflecting the state of the model in the view ...

  6. JAVA array,map 转 json 字符串

    public class User { private String username; private String password; public String getUsername() { ...

  7. http头部信息

    1.常见的返回码 100: 请服务器端继续返回 200:成功 301:永久重定向 存的地址永久的改变了  301 302 : 暂时重定向 302仍然使用老得url 401 : 无法找到资源file n ...

  8. php利用mpdf生成pdf并保存到目录

    下载mpdf7.0两种方法 (1). github地址:https://github.com/mpdf/mpdf (2). composer require mpdf/mpdf <?php er ...

  9. 20155318 2016-2017-2 《Java程序设计》第九学习总结

    20155318 2016-2017-2 <Java程序设计>第九学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型 ...

  10. Ian Goodfellow——对抗神经网络之父

    争议.流派,有关GAN的一切:Ian Goodfellow Q&A:https://baijiahao.baidu.com/s?id=1595081179447191755&wfr=s ...