随笔分类 -  Redis缓存数据库

Redis缓存数据库学习
摘要:Redis虽然是一个非常好用的缓存数据库,但是同样也会面临在分布式环境中,单点故障等一些常见的问题,所以,可以通过一些方式去做到规避单点故障等一些的问题 Redis可以沿用AKF的理论去做扩展,X轴横向扩展自己的可用性,主备的方式或者主从的方式,可以解决单点故障的问题,Y轴纵向扩展,将系统中的功能和 阅读全文
posted @ 2022-09-25 00:01 奋进的狗子 阅读(36) 评论(0) 推荐(0)
摘要:Redis由于在RDB的方式上存在缺陷,会产生时点与时点之间的问题,所以又有AOF的方式持久化数据 AOF的原理就是记录下来客户端所有的操作指令,持久化到一个文件中,通过配置Redis的配置文件开启 在Redis4.0前后有一个重大的改变,4.0之前只能通过bgrewriteaof命令重新覆盖命令 阅读全文
posted @ 2022-09-23 01:34 奋进的狗子 阅读(35) 评论(0) 推荐(0)
摘要:Redis可以将数据持久化到磁盘里,主要通过两种方式,RDB和AOF的方式存储 RDB:在redis里通过save和bgsave命令实现RDB的存储 save方式是一种阻塞的方式存储数据 bgsave方式是非阻塞式的存储数据,他的主要底层是,通过linux父子进程的特性,产生一个fork()子进程去 阅读全文
posted @ 2022-09-22 01:14 奋进的狗子 阅读(38) 评论(0) 推荐(0)
摘要:Redis又被叫做Nosql,非关系型数据库,由于Redis作用于内存上,所以又可以被当作是缓存,那么Redis当作缓存和数据库的区别就是: 技术服务于业务逻辑,所以,选择Redis作为什么,还是要根据具体的业务,如果将Redis当作缓存使用,我们可以通过redis将我们的热数据缓存下来,当下次查询 阅读全文
posted @ 2022-09-19 01:13 奋进的狗子 阅读(358) 评论(0) 推荐(0)
摘要:Redis缓存穿透: 缓存穿透定义:当访问者搜索了redis也不存在,数据库也不存在的key的时候,这个时候,就会产生了缓存穿透,将查询压力放到了数据库中 解决方案:使用布隆过滤器 布隆过滤器通过redis独有的bitmap类型的数据去做命中,如果请求的key不存在的话,布隆过滤器会将bitmap中 阅读全文
posted @ 2022-09-19 00:19 奋进的狗子 阅读(47) 评论(0) 推荐(0)
摘要:Redis布隆过滤器的使用,主要的使用场景是为了解决缓存穿透问题 所谓的缓存穿透,就是当请求一个redis中不存在的key的时候,于是便会穿透redis去查询数据库,数据库也不存在这个值就实现了缓存穿透的情况,一般黑客跑数据的话时常会触发这种情况 为了解决缓存穿透,redis有布隆过滤器,布隆过滤器 阅读全文
posted @ 2022-09-18 00:47 奋进的狗子 阅读(233) 评论(0) 推荐(0)
摘要:Redis本身是单进程单线程的缓存技术框架,所以对事务的处理也是基于它本身的特点,通过队列的方式去排列每一条的命令去执行 使用redis 的事务命令通过help @transactions查找相关命令 通过multi命令开启事务,通过exec执行当前的事务,通过watch命令对即将操作的key添加上 阅读全文
posted @ 2022-09-14 00:00 奋进的狗子 阅读(37) 评论(0) 推荐(0)
摘要:Redis通过publish命令实现消息的发布,通过subscribe命令实现对消息的订阅 可以通过一个案例解释发布和订阅,比如直播间的公屏留言 我们可以通过发布订阅的方式,将消息放到公屏上,但是会遇到查看历史消息,可以 通过sorted_set的方式去顺序排列我们的消息,然后将三天之前的数据丢弃, 阅读全文
posted @ 2022-09-13 23:04 奋进的狗子 阅读(21) 评论(0) 推荐(0)
摘要:redis管道技术 $(echo -en "PING\r\n SET w3ckey redis\r\nGET w3ckey\r\nINCR visitor\r\nINCR visitor\r\nINCR visitor\r\n"; sleep 10) | nc localhost 6379 通过以上 阅读全文
posted @ 2022-09-13 00:05 奋进的狗子 阅读(21) 评论(0) 推荐(0)
摘要:可以使用help @list查看和list相关的命令 好多list命令是以L或者R开头的,顾名思义,L就是从左到右去添加,例如Lpush,亦或者Rpush,从右向左添加 命令集 lpush:向键的头部压进去数据 头部:fedcba尾部 rpush:从键的尾部往里压数据 头部:abcdef:尾部 lp 阅读全文
posted @ 2022-09-11 22:21 奋进的狗子 阅读(161) 评论(0) 推荐(0)
摘要:首次安装Redis,像之前我都是通过百度,看着里面的步骤一步一步安装的,但是,百度终归是别人嘴里的饭,所以,我要学习到安装方法,而redis的源码下载下来以后,里面会有一个REANDME.md的文件,用过git的都知道,这个文件主要是来叙述安装步骤和当前项目的教程的,所以,我看着REANDME.md 阅读全文
posted @ 2022-09-10 12:07 奋进的狗子 阅读(36) 评论(0) 推荐(0)
摘要:Redis是一个单进程单线程单实例的缓存框架,但是照样做到了大数据量的吞吐,是因为什么呢? 1、Redis在请求内核的时候,在过路的路上有用到一个叫做epoll的组件 2、epoll实现了线程的多路复用,并且在中间还增加了一个共享位置,这样,当JVM中的数据和内核的数据在做交换数据的时候,还有通过s 阅读全文
posted @ 2022-09-10 02:15 奋进的狗子 阅读(32) 评论(0) 推荐(0)
摘要:Redis出现的原因 1、冯诺依曼计算机硬件体系决定了磁盘的使用量会越来越大,导致IO交互的速度会越来越慢 2、网络带宽的不够稳定,也是其中的一个原因,因为磁盘的IO操作主要就是依靠的带宽和寻址 3、市面上也有那种基于缓存的关系型数据库,对我们长使用关系型数据库的人来说,也还算是比较友好,但是,他的 阅读全文
posted @ 2022-09-08 00:17 奋进的狗子 阅读(106) 评论(0) 推荐(0)
摘要:Redis学习前置知识-常识 操作系统: 我们不论是redis还是mysql或者其他的数据库操作工具,再或者是文件夹的创建和删除,文件的创建和删除,最终的体现都是对磁盘空间的占用,才能让我们创建的数据永久的保留下来,这个时候就需要了解,磁盘和内存这两个东西 磁盘: 寻址:磁盘寻址是从磁盘上找到这个文 阅读全文
posted @ 2022-09-07 21:11 奋进的狗子 阅读(165) 评论(0) 推荐(0)