![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 75
qq_320253624
这个作者很懒,什么都没留下…
展开
-
Redis Cluster集群搭建
1.搭建1. 在/usr/local/redis-5.0.5/目录创建目录cluster,然后在它下面创建7001至7006六个文件夹;2. 在六个文件夹下新建redis.conf文件,内容如下:port 7001cluster-enabled yescluster-config-file nodes.confcluster-node-timeout 5000appendonly yesdaemonize yesprotected-mode no端口分别是7001、7002、7003、原创 2020-06-13 13:22:23 · 346 阅读 · 0 评论 -
Redis Cluster集群概念
使用哨兵模式可以达到redis高可用目的,但是此时的每个Redis存有集群中的所有数据,从而导致集群的总数据存储量受限于可用存储内存最小的节点,形成了木桶效应。在redis3.0之前,我们需要通过客户端(写代码)去做分片(数据拆分成多份),通过hash方式对key进行分片存储,客户端分片虽然能够解决各个节点的存储压力,但维护成本较高、增加、移除节点比较繁琐。因此在redis3.0版本开始提供了...原创 2020-01-30 16:52:24 · 222 阅读 · 0 评论 -
Redis主从复制
通过持久化功能,Redis保证了即使在服务器重启的情况下也不会丢失(或少量丢失)数据,但是由于数据是存储在一台服务器上的,如果这台服务器出现故障,比如硬盘坏了,也会导致数据丢失。所以为避免单点故障,我们需将数据复制多份到多台不同的服务器上,即使有一台服务器出现故障了,其他服务器依然可以继续提供服务。那么这就要求当一台服务器上的数据更新后,自动将更新的数据同步到其他服务器上;如何实现?Red...原创 2020-01-30 14:43:03 · 141 阅读 · 0 评论 -
redis持久化之AOF
Append-only File(AOF)Redis每次接收到一条改变数据的命令时,它将把该命令写到一个AOF文件中(只记录写操作,不记录读操作),当Redis重启时,它通过执行AOF文件中所有的命令来恢复数据。AOF是在RDB之后出现的一种技术,这种方式的持久化让redis的数据不会丢失;当使用Redis存储非临时数据时,一般需要开启AOF持久化来降低Redis故障导致的数据丢失,AOF可以...原创 2020-01-29 21:24:31 · 155 阅读 · 0 评论 -
redis持久化RDB
Redis的数据存储在内存中,内存是瞬时的,如果linux宕机或重启,又或者Redis崩溃或重启,所有的内存数据都会丢失,为解决这个问题,Redis提供两种机制对数据进行持久化,便于恢复数据。一种是RDB方式、另一种是AOF方式;1.RDB方式Redis Database(RDB),是指在指定的时间间隔内将内存中的数据集快照写入磁盘,数据恢复时将快照文件直接再读到内存。RDB方式的数据持久化...原创 2020-01-29 21:15:34 · 283 阅读 · 0 评论 -
Redis中使用lua脚本
1.问题原子性问题Redis虽然是单线程的,但是仍然可能会出现线程安全问题,当然这个线程安全问题不是来源于Redis服务器内部,而是多个客户端去操作Redis的时候,多个客户端的操作就相当于同一个进程下的多个线程,如果多个客户端之间没有做好同步策略,就会产生数据不一致的问题。比如:我想按照顺序执行几个Redis命令,但是多个客户端的命令之间没有做请求同步,导致实际执行顺序与预想的不一致,最终...原创 2020-01-29 19:59:32 · 392 阅读 · 0 评论 -
Redis使用管道提升性能
Redis服务是一种C/S模型,即客户端发起请求,服务端处理并返回结果给客户端,如果Redis客户端要发送很多条请求,后面的请求需要等待前面的请求处理完后才能进行处理,而且每个请求都存在往返时间,即使redis性能极高,当数据量足够大,也会极大影响性能,所以Redis为了改进该问题,引入了管道技术:可以在服务端未及时响应的时候,客户端也可以继续发送命令请求,做到客户端和服务端互不影响,服务端并最终...原创 2020-01-29 16:23:19 · 221 阅读 · 0 评论 -
缓存雪崩
缓存雪崩是指比如我们给所有的数据设置了同样的过期时间,然后在某一个历史性时刻,整个缓存的数据全部过期了,然后瞬间所有的请求都落到数据库,数据库被压垮,或者是缓存发生故障,导致所有的请求都落入到数据库,数据库被压垮。缓存雪崩的核心就是你的缓存不能用了,不能用了包含两种情况:突然有一个高并发请求:1我要查的数据缓存都没有,那么都查询数据库,数据库可能被查询宕机;2缓存本身就不能用了,比如缓存宕...原创 2020-01-29 15:11:18 · 99 阅读 · 0 评论 -
缓存击穿
高并发条件下,对于热点数据(一般地,80%的情况下都是访问某些热点数据,也就是访问某些热点key,其他key访问会比较少),当数据失效的一瞬间,或者刚开始时缓存中还没有对数据进行缓存,所有请求都被发送到数据库去查询,数据库被压垮。解决方案:方法一,使用全局锁,就是在访问数据库之前都先请求全局锁,获得锁的那个才有资格去访问数据库,其他线程必须等待。由于现在的业务都是分布式的,本地锁没法控制其他服...原创 2020-01-29 14:59:23 · 85 阅读 · 0 评论 -
缓存穿透
缓存穿透是指大量不存在的key请求,由于缓存没有,便开始查询数据库,但数据库也没有查到数据,比如一些恶意攻击、爬虫等造成大量空命中。解决方案:1.缓存空结果,对数据库查询不存在的数据仍然记录在缓存中缓存一条数据,比如缓存一条空值 unknow,这样能有效的减少查询数据库的次数。...原创 2020-01-29 14:50:10 · 75 阅读 · 0 评论 -
redis的常见命令
redis是一种高级的key-value的存储系统其中的key是字符串类型,尽可能满足如下几点:1)key不要太长,最好不要操作1024个字节,这不仅会消耗内存还会降低查找 效率2)key不要太短,如果太短会降低key的可读性3)在项目中,key最好有一个统一的命名规范(根据企业的需求)其中value 支持五种数据类型:1)字符串型 string2)字符串列表 lists3)字符...原创 2019-12-14 18:28:54 · 116 阅读 · 0 评论 -
redis介绍和安装
1.redis基本介绍redis是一种基于键值对(key-value)数据库,其中value可以为string、hash、list、set、zset等多种数据结构,可以满足很多应用场景。还提供了键过期,发布订阅,事务,流水线等附加功能特性:1〉速度快2〉键值对的数据结构服务器3〉丰富的功能:4〉简单稳定5〉持久化6〉主从复制8〉高可用和分布式转移9〉客户端语言多2.使用场景...原创 2019-12-14 17:37:08 · 160 阅读 · 0 评论