Redis的数据保存在内存中,速度十分快。这也就意味着,一个恶意破解redis数据库密码的用户,可以在一秒钟进行更多的尝试。如果用户密码级别较低或更换频率过长,就会造成致命的危害。

1、设置用户

Redis默认是没有用户的,我们可以在执行各种操作命令时,都不需要用户验证,但这是十分不安全的,多人使用Redis的话,也是特别不好管理的。下面介绍如何设置Redis用户:

1)进入安装目录,编辑文件redis.conf。

2)输入“/”,搜索requirepass foobared

3)重启Redis

客户端连接,需要输入用户身份:

两种方式:

——使用“auth”命令

——在客户端连接时指定用户

注意:如果原来未设置用户,立刻修改配置文件,重启Redis后必须输入用户名,并且输入用户名之后之前的数据就找不到了。因此,在设定用户前,一定要做好备份!

2、持久化相关

Redis中的key数据存储在内存中,关机会释放。同样,他也支持持久化同步到硬盘。这样使得Redis的数据安全性大大提高。

两种方式:

    1)snapshotting(快照)

Redis的默认方式,该方式下内存数据存入二进制文件,但无法查看,一般文件类型为dump.rdb。

具体配置在redis.conf文件中,语法含义注释也说的挺清楚了,就不多说了。

注意:这种快照方式配置简单、灵活,但如果在宕机之前还没有到备份快照的时间,那么宕机之前到上一次备份之间的所有数据将会丢失。下面一种方式就可以解决这种情况。

  2)Append-only file

这种方式操作的是存放文件,简单的说,Redis每收到一个命令请求,都会写到文件中。当Redis正常或非正常重启时会执行文件中的操作来重建整个库,有点sql脚本的意思。

实现方式:

同样是在redis.conf中将 appendonly no 改为 appendonly yes,然后配置具体方式,这里采用 everysec每秒钟写入磁盘一次。

进入客户端,随便输入一条命令,然后退出,执行“ll”命令,查看:

appendonly.aof文件就是我们配置产生的文件,使用“cat”命令查看。

Redis的高级应用——数据安全的更多相关文章

  1. Redis进阶实践之五Redis的高级特性

    一.引言    上一篇文章写了Redis的特征,使用场景,同时也介绍了Redis的基本数据类型,redis的数据类型是操作redis的基础,这个必须好好的掌握.今天我们开始介绍一些Redis的高级特性 ...

  2. Redis数据库高级实用特性:持久化机制

    Redis数据库高级实用特性:持久化机制 大型web系统数据缓存设计 Redis高级特性:虚拟内存的使用技巧 Redis高级实用特性:安全性与主从复制 Memcached.Redis OR Tair

  3. Redis进阶实践之五Redis的高级特性(转载 5)

    Redis进阶实践之五Redis的高级特性 一.引言 上一篇文章写了Redis的特征,使用场景,同时也介绍了Redis的基本数据类型,redis的数据类型是操作redis的基础,这个必须好好的掌握.今 ...

  4. 06_NoSQL数据库之Redis数据库:Redis的高级应用之登录授权和主从复制

     Redis高级实用特征 安全性(登录授权和登录后使用auth授权) 设置客户端连接后进行任何其他指定前需要使用的密码. 警告:因为redis速度相当快,所以在一台比较好的服务器下,一个外部的用户 ...

  5. Redis的高级应用-安全性和主从复制

    Redis的服务器命令和键值命令(String,Hash,List,Set,Zset)相对简单,只需查看文档即可. 文档地址: http://www.runoob.com/redis/redis-tu ...

  6. Redis设置密码,保护数据安全

    1.设置密码方法 在 redis.conf 的配置文件中修改参数 requirepass 的值为需要设置的密码, 保存配置文件后,重启Redis就可以. 建议 设置比较复杂和长的密码,防止被暴力破解. ...

  7. Redis的高级特性一览

    更多内容,欢迎关注微信公众号:全菜工程师小辉.公众号回复关键词,领取免费学习资料. 应用场景 缓存系统:用于缓解数据库的高并发压力 计数器:使用Redis原子操作,用于社交网络的转发数,评论数,粉丝数 ...

  8. 07_NoSQL数据库之Redis数据库:Redis的高级应用之事务处理、持久化操作、pub_sub、虚拟内存

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

  9. Redis入门高级部分

    Redis: redis批量删除 redis数据备份和恢复 redis安全 redis性能测试 Redis 客户端连接 redis管道技术 redis分区 java操作redis redis批量删除 ...

随机推荐

  1. php第三节(运算符)

    <?php //算术运算符 + - * / % //++ 前加加 先做加运算后座赋值运算 后加加 先做赋值运算后座加运算 //-- 前减减 先做加运算后座赋值运算 后减减 先做赋值运算后座加运算 ...

  2. B. Train Seats Reservation 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛

    You are given a list of train stations, say from the station 1 to the station 100. The passengers ca ...

  3. 【PTA 天梯赛训练】QQ帐户的申请与登陆(散列+set模拟)

    实现QQ新帐户申请和老帐户登陆的简化版功能.最大挑战是:据说现在的QQ号码已经有10位数了. 输入格式: 输入首先给出一个正整数N(≤10^5),随后给出N行指令.每行指令的格式为:“命令符(空格)Q ...

  4. mysql-新增表前判断同名表是否存在

    新增多个表时,如果有同名表会报错,导致其中一个表不能正确创建,此时可以用以下语句进行判断: DROP TABLE IF EXISTS USER; --判断表是否存在,如果存在就删除! CREATE T ...

  5. nginx问题之nginx: could not build server_names_hash, you should increase server_names_hash_bucket_size解决方案

    昨天在nginx上部署了一个网站后,发现访问不了,再去访问之前部署的网站,发现都访问不了了,去看下下nginx,发现nginx服务停止了,没有在运行,重启了下服务,发现还是一样,就去看了下nginx的 ...

  6. Ubuntu 16.04 Server 版安装过程图文详解

    进入系统安装的第一个界面,开始系统的安装操作.每一步的操作,左下角都会提示操作方式!! 1.选择系统语言-English 2.选择操作-Install Ubuntu Server 3.选择安装过程和系 ...

  7. 【linux下dhcp服务的简单搭建及优化部署】

    dhcp server: 1::vim /etc/sysconfig/network-scripts/ifcfg-scfg:配置 server的 static IP: 2:vim /etc/dhcpd ...

  8. 介绍三种PHP加密解密算法

    PHP加密解密算法 这里主要介绍三种常用的加密解密算法:方法一: /** * @param $string 要加密/解密的字符串 * @param string $operation 类型,ENCOD ...

  9. Hadoop参数调优

    转自:http://blog.sina.com.cn/s/blog_6a67b5c50100vop9.html dfs.block.size 决定HDFS文件block数量的多少(文件个数),它会间接 ...

  10. 2019-04-10 python入门学习——教材和工具准备

    # 从决定学习编程语言到正式做出计划挤出空余时间,历经一年半,因工作原因及生活原因不断搁浅,从湖北到浙江再回湖北,暂时稳定在一家小公司,从日常加班中压缩时间学习,于此记录学习进度.学习问题,在此过程中 ...