Redis
文章平均质量分 90
记录学习Redis的笔记,以及Redis相关用法和能使用的项目。
申未曲
好好思考,努力生活。
展开
-
Windows系统搭建Redis哨兵集群模式详细介绍
哨兵集群是Redis的高可靠性的一种运行模式,基于主从库模式,增加哨兵结点。哨兵之间会进行通讯,如果主库断开连接,哨兵就会去选举一个从库来当作主库。使Redis一直处于高可用的状态。一、安装RedisWIndows安装Redis,下载地址:https://github.com/tporadowski/redis/releasesRedis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 D 盘,解压后,将文件夹重新命名为 re原创 2022-05-07 14:20:42 · 1967 阅读 · 7 评论 -
初学Redis之为什么redis是单线程,但是还能那么快?
redis真的是单线程吗?首先我们得厘清一个事实,我们说的Redis单线程,其实指的是redis的网络IO和键值对是由一个线程执行,这要是redis对外提供键值存储服务的主要流程。此外,还有持久化、意不删除、集群数据同步等都是用额外的线程来执行的。所以严格来说,Redis并不是单线程。但是我们还是说成“单线程”,因为“酷”~redis为什么用单线程?Redis为例在多线程当中,如果有线程1为List做LPUSH操作,线程2做LPOP操作,那么为了List的长度的正确性,就需要将两个线程串行来完原创 2020-09-22 14:32:46 · 231 阅读 · 0 评论 -
初学Redis之Redis持久化之AOF日志与内存快照RDB
宕机了,如何避免数据丢失?如果redis作为缓存数据库,那么宕机后我们首先能想到的是从后端数据库中恢复数据。这会出现两种问题:频繁访问数据库,会给数据库造成压力。数据库读取是慢读取,肯定没有redis速度快,会导致应用程序响应变慢。那么对redis来说做数据持久化就是避免频繁的从后端数据库恢复数据,就至关重要了。redis中有两种方式来保证数据的持久化:AOF(Append Only File),只允许追加写RDB内存快照AOF日志我们常见的数据库日志写入就是“写前日志”,在命令执行原创 2020-09-24 10:53:40 · 635 阅读 · 1 评论 -
初学Redis之Redis主从库模式
AOF日志和RDB内存快照都只是让Redis有数据可以恢复,但是还是存在数据丢失的情况,那就是Redis宕机的时间,有命令传输到客户端,这些数据没有记录到日志或者在快照中。那么为什么Redis还是高可靠性呢?Redis的高可靠主要是:数据少丢失、连接少断开AOF日志以及RDB内存快照都是保证了第一点,那么如何保证第二点呢?那就是要说的主从库。主从库简单来说,就例如:有两个redis实例,redis1(168.172.3.4)和redis2(168.172.3.5),那么可以设置redis2是re.原创 2020-09-28 23:18:17 · 514 阅读 · 0 评论 -
落伍了!竟然还可以利用Redis完成定时任务的需求!
有些场景,我们需要在某个时间(甚至是以秒为级别)对数据进行操作。有几种解决方案:使用定时框架quartz等,如果需要做以秒为单位的定时任务,那是相当大的一个体量。这时我们就可以使用redis来完成。使用的框架是Spring boot ,Spring Data Jpapom文件如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs.原创 2020-10-12 16:53:18 · 1814 阅读 · 1 评论 -
总结与归纳Redis持久化、可靠性等
该文章是将近期学习Redis的基础知识进行总结和归纳,纯手打。大篇幅、纯文字。慎看Redis是一个单线程的内存数据库,在主线程中处理命令操作,但是其余的一些操作,比如:rdb快照、AOF日志重写等,都需要主线程fock一个子进程出来处理,所以实际上,Redis不完全就是单线程。由于Redis是将数据保存到内存上的,所以它的速度是非常快的,但是也容易数据丢失,所以Redis大多数是用来做缓存数据库。那么如何来保证Redis的数据的可靠性?这使用了AOF日志以及RDB快照,来保证数据少丢失。也.原创 2020-09-29 23:21:43 · 396 阅读 · 0 评论 -
学习redis的开发与实践①
使用“万金油”string,数据量大,占用内存大刚启动redis客户端,通过info memory 命令查看内存开销,仅为728416,711.34kb做了测试案例,查询出100万条数据,将id与内容通过string,set到内存中,占用内存为:105036784,100Mb,100w条数据增加了100Mb。如果有几亿条数据呢?那内存占用量是相当恐怖的。这时因为,string的数据结构,包含了两块,一块是内容,一块是元数据。所以通过string将会保存许多我们用不到的数据。若有100M,大约有原创 2020-10-12 10:32:50 · 146 阅读 · 2 评论