redis笔记

Security

 

redis期望是在一个安全的网络环境中,不提供过多的ACL。

可以设定只绑定来自某几个IP的客户端,在redis.config中配置:

bind 127.0.0.1

也可以在redis.config中设置一个密码auth,客户端需要密码才能连上。在redis.config中配置

requirepass "hello world"

 

密码是明文的,如果你还想更安全些,那就用SSL吧。

 

也可以禁用哪些命令,只需要rename它们到一个猜不到的名字即可。

 

rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

 如果你要完全禁用它,就把它remame为空的字符串

rename-command CONFIG ""

 

 

 

 

 

 

 

 

 

 

Replication

 

实现replication,只需要在slave的redis.config文件中加上一行:

slaveof 192.168.1.1 6379

后面的IP和端口指向master。

slave也可以接自己的slave,master和slave的结构可以像树一下。

 

slave是否第一次连上master都没关系,

是第1次的话,master会先传database file给它,slave会保存到硬盘,然后再把文件读入内存。

之后,master再把缓存的那些命令(database file更新之后接收到的命令)发给slave,slave执行后就与master一致了。

以上用的是 SYNC命令。

 

如果是重连 ,默认也会跟第1次连一样,重走整个过程。即也执行SYNC命令。

但从2.8版本起,也支持部分同步了。执行的是PSYNC命令。

 

 

2.6起,slave默认都是只读的,即拒绝写操作。

在redis.config中可以配置:

slave-read-only true

 但不表示slave就可以暴露在不安全的环境中了,因为虽然不可写,但还是可以执行管理命令,诸如DEBUG、CONFIG等命令。所以为了安全起见,可以禁用这些命令(改名)。

 

如果master要验证密码,则slave要在redis.config中加上密码:

masterauth <password>

 

从2.8开始,支持以下特性:

有至少N个slave连上时,master才接受写操作。

 

slave每秒都会ping master一次,可以设置M秒内ping过master,就表示它连着。

在redis.config中设置:

min-slaves-to-write <number of slaves>
min-slaves-max-lag <number of seconds>

 

 

 

Persistence

redis存储有两种方式:RDB( RDB 文件)和AOF(appendOnly file)。

RDB是每隔一段时间就把整个内存的数据的快照dump到文件。

AOF是每隔一段时间就把命令列表append到aof文件里。

 

RDB是全部数据生成一个快照文件,简单,还原快,但频次不能太大,免得影响性能。遇到突发情况,会丢掉最近的数据。

AOF是一个命令一个命令的append到aof文件里,频次可以很大,默认是1秒1次,遇到突发情况,丢失的数据少,但还原较慢。

 

可以两个结合起来用。

 

要开启RDB,在redis.config里配置:

 

save 60 1000
 after 60 sec if at least 1000 keys changed

 

表示60秒后,如果有1000个key更新了,就把快照写到文件。

 

如果要禁用RDB,在redis.config里配置:

 

save ""
 
RDB是通过fork出一个子线程来做这事的。
 

 

 

要开启AOF,

 

appendonly yes
 在禁用AOF,

 

 

appendonly no
AOF可以是每执行一个写命令就同步一次(append到aof),也可以每秒同步一次,或者不同步。默认是每秒同步一次,兼顾了性能和减少数据丢失的情况。 
# If unsure, use "everysec".

# appendfsync always
appendfsync everysec
# appendfsync no
 
AOF也是通过Fork子线程来做这事的。

 

随之着执行的命令越来越多,aof也被append得越来越大,如果一个key被set 100次,就存100条语句在aof里面,显然还原时,只执行最后一个命令就行了,其他99条是多余的。

要做这样的优化和瘦身,就要用到BGREWITEAOF。

 

 

BGREWITEAOF的过程是:

1.子线程先复制目前的aof一份,然后在一边慢慢优化。

2.与此同时,主线程仍然向外提供服务,接收新的命令并append到目前的aof,并将命令缓存。

3.子线程优化完后,会向主线程发一个信号,然后主线程再把缓存里的命令也append到新aof文件里。

4.完后再以新aof替旧aof。

 

因为新命令一直有append到目前的aof文件,所以就算rewrite失败,数据也不会丢失。

 

 

如果开启了AOF,在append 命令到aof文件的过程中突然停电,aof文件损坏,可按以下步骤恢复:

备份下aof,存到其他电脑上;

执行命令:

$ redis-check-aof --fix

使用修复好的aof文件,重启redis。

 

 

redis已经在运行,并且使用RDB,可转成AOF,步骤如下:

1.备份最新的dump.rdb到安全的地方;

2.执行:

redis-cli config set appendonly yes
redis-cli config set save ""

在执行第1个命令时,redis会阻塞以生成一个最新的dump,然后生成一个aof,接收命令并append。

第2个命令不执行也行,不执行就同时使用RDB和AOF了。

 

 

 

 

 slave priority

设置如果master停止服务后,slave提升为master的优先级。

为整数,数值越小,优先级越高。

如3个slave, 优先级分别是 priority 10, 100, 25,最后优先选为master的是10。

如果设为0,表示不能选作master。

# By default the priority is 100.
slave-priority 100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



Debian 11 下用hostapd+dnsmasq搭建WiFi热点:从命令行到实战(避坑指南) 本文详细介绍了在Debian 11系统上,使用hostapd和dnsmasq从命令行搭建稳定WiFi热点的完整实战流程。内容涵盖环境准备、无线网卡AP模式检查、服务深度配置,并重点提供了从服务启动失败到客户端无法上网等常见问题的系统性排错指南,帮助用户避开配置陷阱,成功创建可用的无线接入点。 阅读详情

相关推荐

SMETANA 安装使用教程

关于SMETANA的安装和简单使用信息

qq_44940977的博客 1166

Redis安全策略

Redis安全策略

huangtianyu1的博客 423

IPSec Over GRE和GRE Over IPSec技术

IPSec Over GRE 和 GRE Over IPSec 一. 技术介绍 IPsec     主要作用是对数据进行加密,因为他能提供所有有时候被单独用作实现加密的一种方法!IPsec建立的是一个逻辑隧道,并不是真正意义上的隧道!并且不能提供路由功能,因为IPsec不支持非ip流量,也不支持广播(组播)! GRE     (通用路由封装)能很好的提供一个真正意义上的点对点的隧道,GRE是一种三层VPN封装技术。GRE可以对某些网络层协议(如IPX、Apple Talk、IP等)的报文进行封装,使封装后

qq_56228347的博客 9867

Redis 笔记

Redis 笔记。

Tongyao 501

关于AD中如何绘制原理图及其封装

AD中如何绘制原理图及其封装 题记:这是一个比较基础的知识,之所以我打算写一篇这样的笔记,主要是因为在日常生活中,我极少绘制特殊模块或芯片原理图及其封装。久而久之就忘记咋画了,有时需要画封装的时候又想不起来,网上的资料虽然一堆堆的,但往往只是仅原理图的绘制,或者是仅封装的绘制。为此我写一篇这样的笔记,记录绘制原理图及其封装的一条龙服务,感觉这对我而言尤为重要。 本文分为三大板块,依次是原理图的绘制、封装的绘制、二者的联立 第一板块——原理图的绘制 原理图的建立 第二板块——封装的绘制 第三板块——二者的

weixin_51130221的博客 7万+

ArcMap学习笔记(三)地图数字化

地图数字化前言地图数字化实现步骤1.加载地形图2.新建要素图层3.开启编辑环境4.设置捕捉环境5.选择数字化图层6.数字化控制点7.数字化等高线8.数字化图幅边框9.保存数字化成果总结 前言 使用软件:ArcMap10.4.1中文版 如果出现侵权,请在评论留言,我会及时删除,谢谢。 地图数字化 空间数据采集(输入)是将现有的地图、外业观测成果、航空像片、遥感图片数据、文本资料等转换成GIS可以直接...

JayWang博客 1万+

狂神redis笔记

狂神Redis笔记

jiaweizhong的博客 232

【FPGA】Robei EDA的使用(10)————如何更新EDA的使用license

#海卑而下,能聚众水;学问笃实,以生光辉。 有的时候,有些问题自己通过查找资料解决,宁愿磨难一下,走点弯路,但收获更深刻的认知;不过,有些问题,问一下别人,可能会避免自己耗费过多时间做无用工,这些问题问会的人是极好的。但是怎样把握这个问题的类型,大约只能靠经验了~ (问我为何出此感言,谁叫我纠结了两天的问题,被人家一句话解决,我这个恨啊) ————————————————————正文开始的分割线———————————————— Robei EDA在使用上会有一个注册码,这个license在获取之后,每一次的

Ninquelote的博客 1002

Redis笔记

Redis笔记。

niwoxiangyu的博客 155

SAP FICO会计凭证过账接口

-------------------------------------增加职能范围-ZHANGZG-2022.09.07 注释掉-2022.09.20。CONCATENATE '总账' ls_doc_item-hkont '要求输入成本对象值!*-------------------------------------增加职能范围-ZHANGZG-2022.09.07。*-------------------------------------增加职能范围-ZHANGZG-2022.09.07。

dingqing86的专栏 1078

Netapp FAS2750更换磁盘后不同步问题处理

netapp fas2750磁盘更换后不同步问题处理

jetliu05的博客 1256

Redis学习笔记

Redis笔记

qq_29661185的博客 90

Codex 100个真实案例 - 全系列总结与Codex最佳实践全解析

历经100个案例的淬炼,我们终于来到了终点!本篇是整个系列的压轴之作——全面回顾100个案例的分类统计、提炼Codex使用的核心技巧和最佳实践、总结Prompt工程的精华要点、剖析常见错误及解决方案、展望AI编程的未来趋势,并为不同水平的读者规划学习路径。这不仅是一篇总结,更是一本Codex实战手册!

yueyeguzhuo的专栏 135

Redis技术学习笔记

Redis 是一个高性能的key-value数据库。redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP,使用很方便。

qq_739988982的博客 1821

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

redis基础学习笔记

1. 单机MySQL的年代90年代,一个基本的网站访问量一般不会太大,单个数据库完全足够!那个时候,更多的去使用静态网页 Html~服务器根本没有太大的压力!思考一下,这种情况下 : 整个网站的瓶颈是什么?数据量如果太大,一个机器放不下数据的索引(B+ Tree),一个机器内存也放不下访问量(读写混合),一个服务器承受不住2. Mencached(缓存)+MySQL+垂直拆分(读写分离)站80%的情况都是在读,每次都要去查询数据库的话就十分的麻烦!

weixin_43977307的博客 1908

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

redis笔记分享

redis学习笔记连接

梁诗傑的博客 265

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Redis: 黑马点评笔记

redis黑马点评项目详解

2401_83606094的博客 3430

阿里Redis笔记啃透,出去依旧面试Redis让你随便问

内存数据库Redis的相关知识,几乎是大厂的必考题,下面我总结了设计Redis的11道面试题: 说说Redis基本数据类型有哪些吧 Redis为什么快呢? 那为什么Redis6.0之后又改用多线程呢? 知道什么是热key吗?热key问题怎么解决? 什么是缓存击穿、缓存穿透、缓存雪崩? Redis的过期策略有哪些? 那么定期+惰性都没有删除过期的key怎么办? 持久化方式有哪些?有什么区别? 怎么实现Redis的高可用? 能说说redis集群的原理吗? 了解Redis事务机制吗? 我们为

weixin_50666791的博客 139

【狂神说Java】Redis笔记

狂神说redis笔记

一只小逸白 1173

深入浅出Redis,这份阿里Redis进阶笔记真香!

大家都知道Redis的业务范围是非常广的,但是对于刚入行的小伙伴来说可能也就知道个缓存跟分布式锁。因为Redis的很多功能在一些小企业里,根本是用不到的,得等到并发量到了一定的程度,系统扛不住了,才会用到Redis那些高级的功能。下面LZ就带大家来看看,Redis到底能干些啥:

wdj_yyds的博客 363

2025超全面Redis笔记!!!

Redis是一款高性能的开源内存数据库,支持键值存储和多种数据结构(如字符串、哈希、列表等)。它具有持久化、事务处理、发布/订阅模式以及高可用性等特性,适用于缓存、消息队列和实时分析等场景。相比传统SQL数据库,Redis读写速度更快,但牺牲了部分复杂查询功能。与NoSQL数据库相比,Redis更注重内存操作和实时性能。根据实际需求,Redis常与关系型数据库配合使用,在Web应用、社交网络和大数据处理中发挥关键作用。

笨笨轻松熊的博客 1731

REDIS笔记

redis 笔记 redis安装 windows下的安装 下载地址: https://github.com/tporadowski/redis/releases Linux 源码安装 下载地址:http://redis.io/download,下载最新稳定版本。 启动redis # redis-server # redis-cli redis数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 red

liuqi332922337的专栏 235
上一篇: google Analytics 学习
下一篇: 使用html5shiv使ie6-ie8支持html5
Brage_Lin
博客等级 码龄20年 5粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值