lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  Redis

摘要:目录 1、演示数据类型的实现 2、简单动态字符串 3、链表 4、字典 5、跳跃表 6、整数集合 7、压缩列表 8、总结 上一篇博客我们介绍了 redis的五大数据类型详细用法,但是在 Redis 中,这几种数据类型底层是由什么数据结构构造的呢?本篇博客我们就来详细介绍Redis中五大数据类型的底层实 阅读全文
posted @ 2020-12-03 14:32 白露~ 阅读(151) 评论(0) 推荐(0) 编辑

摘要:1.双向链表 LinkedListpackage LRU; import java.util.Iterator;import java.util.LinkedList; /** * LRU: 最近最少使用算法 。 最近最少使用的元素,在接下来一段时间内,被访问的概率也很低。 * 即最近被使用的元素, 阅读全文
posted @ 2020-12-03 13:45 白露~ 阅读(571) 评论(0) 推荐(0) 编辑

摘要:前言 我们都知道一个系统最重要的是数据,数据是保存在数据库里。但是很多时候不单止要保存在数据库中,还要同步保存到Elastic Search、HBase、Redis等等。 这时我注意到阿里开源的框架Canal,他可以很方便地同步数据库的增量数据到其他的存储应用。所以在这里总结一下,分享给各位读者参考 阅读全文
posted @ 2020-12-02 20:38 白露~ 阅读(420) 评论(0) 推荐(0) 编辑

摘要:一、前言 Binlog是MySQL数据库的二进制日志,用于记录用户对数据库操作的SQL语句(除了数据查询语句)信息。而Binlog格式也有三种,分别为STATEMENT、ROW、MIXED。STATMENT模式基于SQL语句的复制,每一条会修改数据的SQL语句会记录。ROW模式除了记录SQL语句之外 阅读全文
posted @ 2020-12-02 20:14 白露~ 阅读(948) 评论(0) 推荐(0) 编辑

摘要:从网络编程基本概念说起 我们常常使用HTTP协议来传输各种格式的数据,其实HTTP这个应用层协议的底层,是基于传输层TCP协议来实现的。TCP协议仅仅把这些数据当做一串无意义的数据流来看待。所以,我们可以说:客户端与服务器通过在建立的连接上发送字节流来进行通信。这种C/S架构的通信机制,需要标识通信 阅读全文
posted @ 2020-12-02 13:34 白露~ 阅读(290) 评论(0) 推荐(0) 编辑

摘要:基础知识 操作系统 操作系统本身可以看做一个特殊的软件,只有操作系统能直接接触计算机硬件,其他软件要访问硬件都必须通过操作系统 操作系统对硬件做抽象,封装接口给软件调用 程序员 ↓ 软件 ↓ 操作系统(在内存中) ↓ IO设备(网卡、磁盘、键盘、鼠标等) 常见的操作系统有:Windows、Linux 阅读全文
posted @ 2020-12-02 11:36 白露~ 阅读(314) 评论(0) 推荐(0) 编辑

摘要:目录 1、什么是IO多路复用?2、为什么出现IO多路复用机制?3、IO多路复用的三种实现方式4、select函数接口5、select使用示例6、select缺点7、poll函数接口8、poll使用示例9、poll缺点10、epoll函数接口11、epoll使用示例12、epoll缺点13、epoll 阅读全文
posted @ 2020-11-30 18:45 白露~ 阅读(871) 评论(0) 推荐(1) 编辑

摘要:引入 读这篇文章之前请先阅读:浅析服务器并发IO性能提升之路—从网络编程基础到epoll,以更好的理解本文的内容,谢谢。我们知道,我们在使用redis的时候,通过客户端发送一个get命令,就能够得到redis服务端返回的数据。redis是基于传统的C/S架构实现的。它通过监听一个TCP端口(6379 阅读全文
posted @ 2020-11-30 18:43 白露~ 阅读(1656) 评论(0) 推荐(0) 编辑

摘要:Redis性能为什么这么好?IO多路复用模型从底层了解下 前言 当我们去面试的时候,问到了 redis,nginx,netty他们的底层模型分别是什么? ❝ redis -> epoll nginx -> epoll netty -> epoll ❞ 需要从操作系统的层面上来谈 BIO 当我们开机的 阅读全文
posted @ 2020-11-30 18:41 白露~ 阅读(720) 评论(0) 推荐(0) 编辑

摘要:一、现代CPU模式 现代一个CPU中,可以有多个运行核心(称之为物理核),每个物理核都有自己独立的一级缓存(L1)和二级缓存(L2)。并且每个物理核一般会有两个超线程(称之为逻辑核);同一个物理核下的两个逻辑核同享L1和L2缓存。并且现在机器主流都是多CPU处理器结构(CPU Socket),每个C 阅读全文
posted @ 2020-11-26 02:46 白露~ 阅读(868) 评论(0) 推荐(0) 编辑

摘要:场景 假设有这样一个使用场景,依次执行下面的5条命令 命令1:hset mall:sale:freq:ctrl:860000000000001 599055114591 1(hash结构,field表示购买的商品ID,value表示购买次数)简单说明:mall:sale:freq:ctrl:8600 阅读全文
posted @ 2020-11-26 02:43 白露~ 阅读(230) 评论(0) 推荐(0) 编辑

摘要:1、尽量使用短的key 当然在精简的同时,不要为了key的“见名知意”。对于value有些也可精简,比如性别使用0、1。 2、避免使用keys * keys *, 这个命令是阻塞的,即操作执行期间,其它任何命令在你的实例中都无法执行。当redis中key数据量小时到无所谓,数据量大就很糟糕了。所以我 阅读全文
posted @ 2020-11-26 02:41 白露~ 阅读(303) 评论(0) 推荐(0) 编辑

摘要:在一些网络服务的系统中,Redis 的性能,可能是比 MySQL 等硬盘数据库的性能更重要的课题。比如微博,把热点微博[1],最新的用户关系[2],都存储在 Redis 中,大量的查询击中 Redis,而不走 MySQL。 那么,针对 Redis 服务,我们能做哪些性能优化呢?或者说,应该避免哪些性 阅读全文
posted @ 2020-11-26 02:39 白露~ 阅读(571) 评论(0) 推荐(0) 编辑

摘要:内存诊断 内存使用率是Redis服务最关键的一部分。 如果Redis实例的内存使用率超过最大可用内存,即“used_memory”>最大可用内存,那么操作系统会将内存与Swap空间交换,把内存中旧的或不再使用的内容写入硬盘上的Swap分区,以便留出新的物理内存给新页或活动页(page)使用。 通过查 阅读全文
posted @ 2020-11-26 02:33 白露~ 阅读(594) 评论(0) 推荐(0) 编辑

摘要:在一些网络服务的系统中,Redis 的性能,可能是比 MySQL 等硬盘数据库的性能更重要的课题。比如微博,把热点微博[1],最新的用户关系,都存储在 Redis 中,大量的查询击中 Redis,而不走 MySQL。 那么,针对 Redis 服务,我们能做哪些性能优化呢?或者说,应该避免哪些性能浪费 阅读全文
posted @ 2020-11-26 02:32 白露~ 阅读(167) 评论(0) 推荐(0) 编辑

摘要:Redis 是基于单线程模型实现的,也就是 Redis 是使用一个线程来处理所有的客户端请求的,尽管 Redis 使用了非阻塞式 IO,并且对各种命令都做了优化(大部分命令操作时间复杂度都是 O(1)),但由于 Redis 是单线程执行的特点,因此它对性能的要求更加苛刻,本文我们将通过一些优化手段, 阅读全文
posted @ 2020-11-26 02:30 白露~ 阅读(269) 评论(0) 推荐(0) 编辑

摘要:架构师小秘圈 2020-11-20 11:23:00 14 收藏 文章标签: 数据库 字符串 数据结构 算法 python 版权 - 01、不一样的Redis - 提到Redis,大家一定会想到的几个点是什么呢? 高并发、KV存储、内存数据库、丰富的数据结构、单线程(版本6之前)等。 那么,接下来, 阅读全文
posted @ 2020-11-25 23:38 白露~ 阅读(261) 评论(0) 推荐(0) 编辑

摘要:关于 Redis 的使用,大家应该已经不陌生了,我也介绍过 Redis 的使用、数据结构、使用场景分析,既然 Redis 这个强大,那么架构中引入了 Redis 之后,是不是就“无敌”了呢? 其实所有的架构、框架、组件,在解决一部分问题的同时,同样也会带来新的问题,让我们看看使用 Redis 可能会 阅读全文
posted @ 2020-11-25 23:37 白露~ 阅读(111) 评论(0) 推荐(0) 编辑

摘要:关于Redis的知识总结了一个脑图分享给大家 1、在项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果? 面试官心理分析 这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬。 只要问到缓存,上来第一个问题,肯定是先问问你项目哪里用了缓存?为啥要用?不用行不行?如果用 阅读全文
posted @ 2020-11-25 23:35 白露~ 阅读(277) 评论(0) 推荐(0) 编辑

摘要:redis 简介 简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以存写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 阅读全文
posted @ 2020-11-25 23:34 白露~ 阅读(113) 评论(0) 推荐(0) 编辑