redis
文章平均质量分 87
沉泽·
心中有阳,眼里有光。
展开
-
Redis 缓存淘汰策略(十三)
一、redis内存配置介绍1.1 查看 redis 最大占用内存在 redis.conf 配置文件中有一个,输入 :set nu 显示行号,大约在 800 多行有一个 maxmemory 字段,用预设值 redis 的最大占用内存如果不设置最大内存大小或者设置最大内存大小为 0,在 64 位操作系统下不限制内存大小,在32位操作系统下最多使用 3GB 内存。一般推荐Redis设置内存为最大物理内存的四分之三,也就是 0.751.2 修改 redis 内存设置通过修改文件配置(永久生效):修改转载 2022-03-21 19:57:26 · 425 阅读 · 0 评论 -
Redis 分布式锁(十二)
一、搭建测试工程项目为了演示redis分布式锁的应用,我们需要搭建一个分布式微服务项目。架构如下:1.1 Linux和redis的下载和安装这里省略,可以参考这篇文章:https://blog.csdn.net/oneby1314/article/details/1137894121.2 搭建 SpringBoot 工程两个 Module:redis1 和 redis2搭建 SpringBoot 工程的步骤新建 Module 或者 Maven 子工程编写 pom.xml 管转载 2022-03-20 12:46:12 · 240 阅读 · 0 评论 -
缓存穿透与雪崩(十一)
一、缓存穿透(查不到)1.1 概念在默认情况下,用户请求数据时,会先在缓存(Redis)中查找,若没找到即缓存未命中,再在数据库中进行查找,数量少可能问题不大,可是一旦大量的请求数据(例如秒杀场景)缓存都没有命中的话,就会全部转移到数据库上,造成数据库极大的压力,就有可能导致数据库崩溃。网络安全中也有人恶意使用这种手段进行攻击被称为洪水攻击。1.2 解决方案布隆过滤器对所有可能查询的参数以Hash的形式存储,以便快速确定是否存在这个值,在控制层先进行拦截校验,校验不通过直接打回,减轻了存储系统的压转载 2022-01-09 21:08:50 · 55 阅读 · 0 评论 -
Redis的哨兵模式(十)
一、哨兵模式概述主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。哨兵的作用:通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器。当哨兵监测到ma转载 2022-01-09 21:03:52 · 112 阅读 · 0 评论 -
Redis主从复制(九)
一、概念 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master/Leader),后者称为从节点(Slave/Follower), 数据的复制是单向的!只能由主节点复制到从节点(主节点以写为主、从节点以读为主)。默认情况下,每台Redis服务器都是主节点,一个主节点可以有0个或者多个从节点,但每个从节点只能由一个主节点。作用数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余的方式。故障恢复:当主节点故障时,从节点可以暂时替代主节点转载 2022-01-09 11:23:26 · 73 阅读 · 0 评论 -
Redis发布与订阅(八)
一、Redis 发布订阅(pub/sub)是什么Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:二、命令和示例命令描述PSUBSCRIBE pattern [pattern..]订阅转载 2022-01-09 11:04:38 · 92 阅读 · 0 评论 -
Redis的持久化(七)
一、Redis.conf容量单位不区分大小写,G和GB有区别可以使用 include 组合多个配置问题网络配置日志输出级别日志输出文件持久化规则由于Redis是基于内存的数据库,需要将数据由内存持久化到文件中持久化方式:RDBAOFRDB文件相关主从复制Security模块中进行密码设置客户端连接相关maxclients 10000 最大客户端数量maxmemory <bytes> 最大内存限制转载 2022-01-08 15:54:52 · 763 阅读 · 0 评论 -
Java操作Redis(六)
一、Jedis方式操作redis使用Java来操作Redis,Jedis是Redis官方推荐使用的Java连接redis的客户端。1.1 导入依赖<!--导入jredis的包--><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version>转载 2022-01-07 22:26:27 · 191 阅读 · 0 评论 -
Redis的事务(五)
一、redis事务简介Redis事务本质:一组命令的集合。----------------- 队列 set set set 执行 -------------------事务中每条命令都会被序列化,执行过程中按顺序执行,不允许其他命令进行干扰。一次性顺序性排他性Redis事务没有隔离级别的概念Redis单条命令是保证原子性的,但是事务不保证原子性!二、Redis事务操作过程开启事务(multi)命令入队执行事务(exec)2.1 正常事务所以事务中的命令在加入时都没有被执行转载 2022-01-03 20:20:39 · 73 阅读 · 0 评论 -
Redis五大数据类型(三)
一、简述Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。二、Redis-key在redis中无论什么数据类型,在数据库中都是以key-value形式保存,通过进行对Redis-key的操作,来完成对数据库中数转载 2022-01-02 18:19:27 · 170 阅读 · 0 评论 -
Redis安装(二)
一、概述Redis是什么?Redis(Remote Dictionary Server ),即远程字典服务。 是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。Redis能该干什么?内存存储、持久化,内存是断电即失的转载 2021-12-24 22:10:52 · 51 阅读 · 0 评论 -
Nosql介绍(一)
一、Nosql概述1.1 为什么使用Nosql1、单机Mysql时代90年代,一个网站的访问量一般不会太大,单个数据库完全够用。随着用户增多,网站出现以下问题数据量增加到一定程度,单机数据库就放不下了数据的索引(B+ Tree),一个机器内存也存放不下访问量变大后(读写混合),一台服务器承受不住。2、Memcached(缓存) + Mysql + 垂直拆分(读写分离)网站80%的情况都是在读,每次都要去查询数据库的话就十分的麻烦!所以说我们希望减轻数据库的压力,我们可以使用缓存来保证效转载 2021-12-24 10:40:54 · 394 阅读 · 0 评论 -
Redis 6.0 为什么使用了多线程
一、前言Redis 6.0在5.2号这个美好的日子里悄无声息的发布了,这次发布在IT圈犹如一颗惊雷一般,因为这是redis最大的一次改版,首次加入了多线程。作者Antirez在RC1版本发布时在他的博客写下:the most “enterprise” Redis version to date // 最”企业级”的the largest release of Redis ever as far as I can tell // 最大的the one where the biggest amount转载 2021-12-23 17:12:33 · 427 阅读 · 0 评论