Redis
文章平均质量分 80
三笠·阿卡曼
日拱一卒无有尽,功不唐捐终入海。
展开
-
Redis学习(八)--应用问题解决以及Redis6新功能
Redis应用问题解决缓存穿透问题描述key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会压到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库。解决方案一个一定不存在缓存及查询不到的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。解决方案(1)对空值缓存:如果一个查询返回的原创 2021-07-11 22:06:32 · 125 阅读 · 1 评论 -
Redis学习(七)--Redis主从复制与Redis集群搭建
Redis主从复制主从复制是什么主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主主从复制能干嘛读写分离,性能扩展;容灾快速恢复;怎么玩:主从复制拷贝多个redis.conf文件include(写绝对路径);开启daemonize yes;Pid文件名字pidfile;指定端口port;Log文件名字;dump.rdb名字dbfilename;Appendonly 关掉或者换名字;新建redis637原创 2021-07-10 14:45:14 · 234 阅读 · 0 评论 -
Redis学习(六)--Redis的持久化RDB、AOF
Redis持久化Redis持久化之RDB(Redis DataBase)在指定的时间间隔内将内存中的数据集快照写入磁盘, 也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。如何备份数据Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到 一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。 整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能 如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要原创 2021-07-08 22:11:56 · 111 阅读 · 0 评论 -
Redis学习(五)-- Java操作Redis的几种方式
Jedis操作Redis创建idea工程建立一个Maven项目,导入Jedis依赖即可:<!-- 导入Jedis依赖 --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version&原创 2021-07-04 14:52:11 · 951 阅读 · 1 评论 -
Redis学习(四)-- Redis的发布和订阅
什么是发布订阅Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。Redis 客户端可以订阅任意数量的频道。Redis的发布和订阅客户端可以订阅频道如下:当给这个频道发布消息后,消息就会发送给订阅的客户端发布订阅命令行实现1、 打开一个客户端订阅channel1SUBSCRIBE channel12、打开另一个客户端,给channel1发布消息hellopublish channel1 hello原创 2021-07-03 23:44:43 · 90 阅读 · 0 评论 -
Redis学习(三)--Redis配置文件详解
找到自定义目录我的自定义目录:/etc/redis.confUnits单位配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit大小写不敏感INCLUDES包含类似jsp中的include,多实例的情况可以把公用的配置文件提取出来网络相关配置bind配置默认情况bind=127.0.0.1只能接受本机的访问请求不写的情况下,无限制接受任何ip地址的访问生产环境肯定要写你应用服务器的地址;服务器是需要远程访问的,所以需要将其注释掉如果开启了protec原创 2021-07-03 23:33:20 · 110 阅读 · 0 评论 -
Redis学习(二)五大数据类型学习以及特殊的三大类型了解
Redis字符串(String)String类型是二进制安全的。意味着Redis的string可以包含任何数据。比如jpg图片或者序列化的对象。String类型是Redis最基本的数据类型,一个Redis中字符串value最多可以是512M;操作命令set key value: 添加键值对;get key: 获取key;append key value:将给定的 追加到原值的末尾strlen key:获得值的长度setnx key value:只有在 key 不存在时 设置原创 2021-07-03 23:00:41 · 87 阅读 · 0 评论 -
Redis相关面试题
Redis是单线程还是多线程单线程:满足Redis的串行原子,只不过IO多线程之后,把输入/输出放到更多的线程中去并行,好处:执行时间缩短,更快;更好的压榨系统及硬件资源;Redis存在线程安全的问题吗?为什么?Redis可以保障内部串行化执行,但是外界使用的时候要保障线程安全的问题;遇到过缓存穿透吗?详细描述一下?缓存穿透:Redis中没有这个key遇到过缓存击穿么?详细描述一下缓存击穿:热点key过期,从而造成大量请求访问数据库,数据库有,大量的并发,Redis没有缓存如何避免缓原创 2021-05-09 16:17:24 · 269 阅读 · 0 评论 -
Redis学习(六)主从复制
Redis主从复制概念主从复制,指的是将一台Redis服务器的数据,复制到其它的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slaver/follower);数据的复制是单向的,只能由主节点到从节点,Master以写为主,Slave以读为主;默认情况下,每台Redis服务器都是主节点,且一个主节点可以有多个从节点或没从节点,但一个从节点只能有一个主节点;主从复制的作用如下:数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式;故障恢复:当原创 2021-04-06 23:32:39 · 206 阅读 · 0 评论 -
Redis学习(五)发布订阅
发布订阅Redis发布订阅(pub/sub)是一种消息的订阅模式:发送者发送消息,订阅者接收消息;Redis客户端可以订阅任意数量的频道;消息发送者,频道,消息接收者;测试:# 订阅端[root@localhost bin]# ./redis-cli -p 6379127.0.0.1:6379> SUBSCRIBE kuangshenshuoReading messages... (press Ctrl-C to quit)1) "subscribe"2) "kuangshens原创 2021-04-05 21:09:57 · 69 阅读 · 0 评论 -
Redis(四)SpringBoot 集成Redis
SpringBoot整合创建maven项目,导入依赖<dependencies> <!-- 操作Redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId>原创 2021-04-05 17:22:21 · 101 阅读 · 2 评论 -
Redis学习(一)
Nosql概述Nosql特点易扩展(数据之间没有关系,很好扩展);大数据量高性能(Redis 写8w次/s,读取11w/次);数据类型是多样性的;传统RDBMS 和Nosql:传统的RDBMS- 结构化组织- SQL- 数据和关系都存在单独的表中- 数据定义语言;- 严格一致性- 基础事务Nosql- 不仅仅是数据- 没有固定的查询语言- 键值对存储、列存储、文档存储、图形数据库(社交关系);- 最终一致性;- CAP定理 和 BASE (异地多活)...原创 2021-03-28 22:36:46 · 813 阅读 · 1 评论 -
Redis学习之Redis的基本数据类型
Redis基本数据类型Redis作为内存中的数据接口存储系统,可以作为数据库、缓存、消息中间件。它的value支持多种类型的数据结构。基本数据类型包括:字符串(string)、散列(hashes)、列表(Lists)、集合(sets)、无序集合(sorted sets)五种。字符串(strings)类型介绍字符串是Redis最简单的存储类型。它存储的值可以是字符串、整数或者浮点数。对整个字符串或者字符串的其中一部分执行操作;对整数或者浮点数执行自增或者自减操作;Redis的字符串是一个由字节组成的原创 2021-01-10 23:19:43 · 140 阅读 · 0 评论 -
Redis学习(二)
Reidis的配置Redis的配置文件Redis支持很多的参数,但是都有默认值damemonize: 默认情况下,redis不是在后台运行的,若需要在后台运行,把该值改为yes;bind:指定Redis只接受来自于该IP地址的请求;port:监听端口,默认为6379;databases:设置数据库的个数,默认使用的数据库是0;save:设置Redis进行数据库镜像的频率;dbfliename: 镜像备份文件的文件名;dir:数据库镜像备份的文件放置的路径;requirepass:设置客原创 2021-01-07 00:04:23 · 146 阅读 · 1 评论 -
Redis的学习(一)Redis 简介以及Redis6.0的具体安装步骤
Redis的优势**高性能:**底层采用C语言编写,内存数据库,通讯采用epoll非阻塞、I/O多路复用机制;**线程安全:**原子操作,单线程,保证高并发场景下的线程安全;功能丰富:数据结构:基本:String、List、HashSet、SortedSet;高阶:GEO、BitMap、HyperLogLog;持久化: RDB持久化、AOF持久化、RDB-AOF混合持久化;主从模式(Master-Slave):解决并发访问的问题,采用哨兵模式完成主从切换;集群:采用分片存储;模原创 2021-01-06 00:01:13 · 465 阅读 · 1 评论