![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
文章平均质量分 86
Redis学习
@YanM
这个作者很懒,什么都没留下…
展开
-
redis持久化
AOF(Append Only File):以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。默认情况下,redis是没有开启AOF(append only file)的。开启AOF功能需要设置配置: appendonly yes。AOF保存的是appendonly.aof文件。原创 2023-09-18 11:53:39 · 114 阅读 · 0 评论 -
Redis集群(cluster)
为了在节点数目发生改变时尽可能少的迁移数据,将所有的存储节点排列在收尾相接的Hash环上,每个key在计算Hash后会顺时针找到临近的存储节点存放。而当有节点加入或退出时仅影响该节点在Hash环上顺时针相邻的后续节点。优点:加入和删除节点只影响哈希环中顺时针方向的相邻的节点,对其他节点无影响。缺点:数据的分布和节点的位置有关,因为这些节点不是均匀的分布在哈希环上的,所以数据在进行存储时达不到均匀分布的效果。原创 2023-09-21 17:11:53 · 193 阅读 · 0 评论 -
索引和sql优化
在MySQL针对于表中主键创建的索引默认自动创建只能 有一个,非空避免一个表中某数据列中的值重复可以有多个快速定位特定数据可以有多个全文索引查找的是文本中的关键词,而不是比较索引中的值可以有多个而在在InnoDB将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据必须有而且只有一个将数据与索引分开存储,索引结构的叶子节点关联的是对应的主键可以存在多个聚集索引选取规则如果存在主键,主键索引就是聚集索引。如果不存在主键,将使用第一个唯一(UNIQUE。原创 2023-09-14 11:02:39 · 194 阅读 · 1 评论 -
redis管道
如果同时需要执行大量的命令,那么就要等待上一条命令应答后再执行,这中间不仅仅多了RTT(Round Time Trip),而且还频繁调用系统IO,发送网络请求,同时需要redis调用多次read()和write()系统方法,系统方法会将数据从用户态转移到内核态,这样就会对进程上下文有比较大的影响了,性能不太好。1 客户端向服务端发送命令分四步(发送命令→命令排队→命令执行→返回结果),并监听Socket返回,通常以阻塞模式等待服务端响应。2 服务端处理命令,并将结果返回给客户端。原创 2023-09-18 16:07:05 · 30 阅读 · 0 评论 -
redis主从复制
master以写为主,Slave以读为主。当master数据变化的时候,自动将新的数据异步同步到其它slave数据库。原创 2023-09-19 12:07:27 · 131 阅读 · 0 评论 -
redis事务
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。Redis的事务仅仅是保证事务里的操作会被连续独占的执行,redis命令执行是单线程架构,在执行完事务内所有指令前是不可能再去同时执行其他客户端的请求的。Redis的事务不保证原子性,也就是不保证所有指令同时成功或同时失败,只有决定是否开始执行全部指令的能力,没有执行到一半进行回滚的能力。执行:由EXEC命令触发事务。原创 2023-09-18 15:34:32 · 29 阅读 · 0 评论 -
redis哨兵(sentinel)
哨兵巡查监控redis的运行状态,包括主机master和从机slave,如果主机故障了根据投票数自动将一个从机转换成一个新主机。一般是主从复制加哨兵或者直接使用redis集群,redis集群更优。结合以下主从复制的博客:redis主从复制_@YanM的博客-CSDN博客。原创 2023-09-20 14:10:05 · 130 阅读 · 1 评论 -
linux安装redis
redis-benchmark:性能测试工具,服务启动后运行该命令,看看自己本子性能如何redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲。启动reid服务(/usr/local/bin):redis-server /opt/redis-7.0.0/redis.conf。redis-sentinel: redis集群使用redis-server: Redis服务器启动命令。拷贝一份:cp redis.conf redis.conf.example。连接服务:下面两种方式都可以。原创 2023-09-14 16:30:17 · 60 阅读 · 1 评论