Redis
文章平均质量分 78
ZZYSY~
这个作者很懒,什么都没留下…
展开
-
Redis缓存穿透与雪崩的原因及解决方案
服务的高可用问题Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。缓存穿透(查不到)概念缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询。发现也没有,于是本次查询失败。原创 2022-02-13 10:37:46 · 187 阅读 · 0 评论 -
Redis主从复制和哨兵模式的讲解及配置使用
Redis主从复制概念主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(masterleader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave以读为主。主从复制,读写分离!80%的情况下都是在进行读操作!减缓服务器的压力!架构中经常使用!一主二从默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。主从复制的作用主原创 2022-02-12 11:35:37 · 421 阅读 · 0 评论 -
Redis发布订阅机制的使用及原理讲解
概述Redis发布订阅(pub/sub)是一种消息通信模式︰发送者(pub)发送消息,订阅者(sub)接收消息。微信,微博,B站,关注系统Redis客户端可以订阅任意数量的频道。订阅/发布消息图:消息发送者频道消息订阅者下图展示了频道channel1,以及订阅这个频道的三个客户端 ―— client2、client5和client1之间的关系∶当有新消息通过PUBLISH 命令发送给频道channel1时,这个消息就会被发送给订阅它的三个客户端︰命令这些命原创 2022-02-12 11:14:52 · 563 阅读 · 0 评论 -
Redis持久化机制——RDB和AOF讲解和使用
概述Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以Redis提供了持久化功能!RDB(Redis DataBase)什么是RDB在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。Redis会单独创建( fork )一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行原创 2022-02-12 11:05:16 · 1217 阅读 · 0 评论 -
Redis配置文件讲解
启动的时候就是通过配置文件来启动的单位配置文件 unit单位 对大小写不敏感包含可以把多个配置文件都配置过来网络bind 127.0.0.1 # 绑定的ipprotected-mode yes # 保护模式port 6379 # 端口设置通用GENERALdaemonize yes # 以守护进程的方式运行,默认是no,我们需要自己开启为yes!、pidfile /var/run/redis_6379.pid # 如果以后台方式运行,我们就需要指定一个pid文件# 日志#原创 2022-02-12 10:55:44 · 58 阅读 · 0 评论 -
SpringBoot整合Redis及使用讲解
说明SpringBoot操作数据使用spring-data在springboot2.x之后,原来使用的jedis被替换为了lettucejedis:采用的是直连,多个线程操作的话,是不安全的,想要避免不安全,使用jedis pool连接池,更像BIO模式lettuce:采用netty,实例可以在多个线程中共享,不存在线程不安全的情况,可以减少线程的数量,更像Nio模式源码分析@Bean//我们可以自己定义一个RedisTemplate来替换默认的RedisTemplate@Conditi原创 2022-02-12 10:51:51 · 373 阅读 · 0 评论 -
Jedis的配置和使用
什么是jedis是官方推荐的java连接开发工具,使用java操作Redis的中间件,如果要使用java操作redis,那么要对jedis十分熟悉测试导入对应的依赖(Jedis和fastjson):<dependencies> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId>原创 2022-02-12 10:39:24 · 1820 阅读 · 0 评论 -
Redis事务的本质和执行过程
事务的本质一组命令的集合,一个事务中的所有命令都会被序列化,在事务的执行过程中,会按照顺序执行一次性、顺序性、排他性,执行一系列的命令redis事务没有隔离级别的概念所有的命令在事务中,并没有直接被执行,只有发起执行命令的时候才会执行Redis单条命令是保证原子性的,但是事务不保证原子性(原子性:要么同时成功,要么同时失败)事务的执行过程开启事务(Multi)命令入队(…)执行事务(exec)正常执行事务:127.0.0.1:6379> multi #开始事务OK#命原创 2022-02-12 10:34:13 · 169 阅读 · 0 评论 -
Redis五大基本数据类型和三种特殊数据类型
官网介绍Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU ev原创 2022-02-12 10:23:55 · 618 阅读 · 0 评论 -
Redis安装与基础介绍
Redis是什么?Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。免费开源,是当下最热门的NoSql技术之一,结构化数据库Redis能干啥?内存存储、持久化,内存中是断电即失,所以持久化很重要(R原创 2022-02-12 10:09:07 · 290 阅读 · 0 评论 -
NoSql介绍
Sql的发展历程单机mysql的年代在很早的年代,一个网站的访问量不会太大,单个数据库(Mysql)完全够用瓶颈:①数据量太大时一个机器放不下②数据超过300万,需要建立索引,机器内存也放不下③访问量比较大(读写混合),服务器承受不了,性能差Memcached(缓存)+ MYSQL + 垂直拆分(读写分离)读操作比较多,为了减轻数据库的压力,我们可以使用缓存来保证效率发展过程:优化数据结构和索引——》文件缓存(IO)——》Memcached分库分表 + 水平拆分 + mysql集群原创 2022-02-12 09:50:30 · 1260 阅读 · 0 评论 -
Redis哨兵集群部署教程—从零开始(一主二从三哨兵)
前言本文是以之前写的Redis从零搭建这篇文章基础下完成得哨兵集群部署,最好可以先去看一下Redis从零搭建这篇文章,以免遇到问题一、提前准备在opt目录下创建cluster-sentinel目录mkdir cluster-sentinel复制三份opt目录下的redis-5.0.14文件夹到cluster-sentinel目录下并依次命名为redis-5.0.14-8974、redis-5.0.14-8975、redis-5.0.14-8976(8974为主,8975和8976为从)# 复制原创 2022-01-07 17:48:15 · 2546 阅读 · 0 评论 -
Redis环境搭建教程—从零开始
一、云服务器阿里云、腾讯云等等都可以二、连接云服务器我用的是Xshell三、安装并编译Redis进入opt目录下,直接使用命令安装 wget https://download.redis.io/releases/redis-5.0.14.tar.gz解压gz文件tar -xvf redis-5.0.14.tar.gz进入redis-5.0.14文件夹,直接使用make命令进行编译 (如果)make如果提示找不到make请先安装gccyum install gcc编原创 2022-01-07 16:56:07 · 1778 阅读 · 0 评论