Redis的高级应用——数据安全
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的高级应用——数据安全的更多相关文章
- Redis进阶实践之五Redis的高级特性
一.引言 上一篇文章写了Redis的特征,使用场景,同时也介绍了Redis的基本数据类型,redis的数据类型是操作redis的基础,这个必须好好的掌握.今天我们开始介绍一些Redis的高级特性 ...
- Redis数据库高级实用特性:持久化机制
Redis数据库高级实用特性:持久化机制 大型web系统数据缓存设计 Redis高级特性:虚拟内存的使用技巧 Redis高级实用特性:安全性与主从复制 Memcached.Redis OR Tair
- Redis进阶实践之五Redis的高级特性(转载 5)
Redis进阶实践之五Redis的高级特性 一.引言 上一篇文章写了Redis的特征,使用场景,同时也介绍了Redis的基本数据类型,redis的数据类型是操作redis的基础,这个必须好好的掌握.今 ...
- 06_NoSQL数据库之Redis数据库:Redis的高级应用之登录授权和主从复制
Redis高级实用特征 安全性(登录授权和登录后使用auth授权) 设置客户端连接后进行任何其他指定前需要使用的密码. 警告:因为redis速度相当快,所以在一台比较好的服务器下,一个外部的用户 ...
- Redis的高级应用-安全性和主从复制
Redis的服务器命令和键值命令(String,Hash,List,Set,Zset)相对简单,只需查看文档即可. 文档地址: http://www.runoob.com/redis/redis-tu ...
- Redis设置密码,保护数据安全
1.设置密码方法 在 redis.conf 的配置文件中修改参数 requirepass 的值为需要设置的密码, 保存配置文件后,重启Redis就可以. 建议 设置比较复杂和长的密码,防止被暴力破解. ...
- Redis的高级特性一览
更多内容,欢迎关注微信公众号:全菜工程师小辉.公众号回复关键词,领取免费学习资料. 应用场景 缓存系统:用于缓解数据库的高并发压力 计数器:使用Redis原子操作,用于社交网络的转发数,评论数,粉丝数 ...
- 07_NoSQL数据库之Redis数据库:Redis的高级应用之事务处理、持久化操作、pub_sub、虚拟内存
事务处理 Redis对事务的支持目前还比较简单.Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令.当一个client在一个连接中发出mul ...
- Redis入门高级部分
Redis: redis批量删除 redis数据备份和恢复 redis安全 redis性能测试 Redis 客户端连接 redis管道技术 redis分区 java操作redis redis批量删除 ...
随机推荐
- jquery mobile 移动web(4)
下拉菜单: 设置label 元素的for 属性为 select label 元素的文本内容作为选项的名称 定义div元素并设置data-role 属性值为 fieldcontain. <div ...
- 使用poi读取excel文件 Cannot get a text value from a numeric cell
我这样转换得到一个excel文本域的值 Cell cell = row.getCell(c); cell.setCellType(Cell.CELL_TYPE_STRING); String park ...
- boost::asio::ip::tcp中几个重要类型
typedef basic_stream_socket socket; 流式套接字,提供同/异步发送接收数据,连接,绑定,设置套接字选项等功能 对于socket中的connect()方法,它只针对某一 ...
- DLL DEF文件编写方法 VC++ 调用、调试DLL的方法 显式(静态)调用、隐式(动态)调用
DLL 文件编写方法: 1.建立DLL工程 2.声明.定义要导出的函数 BOOL WINAPI InitDlg( HWND hTabctrl,TShareMem* pTshare,CRect* prc ...
- PHP中对字符串的一些操作
php中判断字符串在另一个字符串中是否存在(strpos): if(strpos('www.baidu.com', 'www') !== false){ // 存在 }else{ // 不存在 } p ...
- laravel 基础 --内置函数
简介 Laravel 自带了一系列 PHP 辅助函数,很多被框架自身使用,如果你觉得方便的话也可以在代码中使用它们. https://laravelacademy.org/post/8967.html ...
- 3.2 进程间通信之fifo
一.引言 FIFO常被称为有名管道,不同于管道(pipe).pipe仅适用于“有血缘关系”的IPC.但FIFO还可以应用于不相关的进程的IPC.实际上,FIFO是Linux基础文件类型中的一种,是在读 ...
- mysql日志管理#慢日志详解
MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中 long_q ...
- Python协程中使用上下文
在Python 3.7中,asyncio 协程加入了对上下文的支持.使用上下文就可以在一些场景下隐式地传递变量,比如数据库连接session等,而不需要在所有方法调用显示地传递这些变量.使用得当的话, ...
- DHT11资料
产品名:温湿度传感器 型号:DHT11 厂商:奥松电子 参数: 相对湿度: 分辨率:0.1%RH 16Bit 精度:25℃ 正负 %2 温度: 分辨率:0.1%RH 16 ...