bigdata_Redis
乔治大哥
脚踏实地,仰望星空。
展开
-
浅谈一个缓存小实践,另外还有更多案例,欢迎关注~
不能辜负大家的关注,来一篇吧!记得面试的时候别说没用过redis!!!为防止打穿底层MD部门,所以在调用jsf服务的时候进行查询数据的缓存处理。我们先说示例,再谈理论!示例使用的redis是,JD的redis客户端;/** * 京东redis客户端 */private Cluster jdRedisClient;使用的存储对象方法,采用setObjectByExpire()/** * 以有效期的方式存储对象 * * @param key 存储key * @param obje原创 2020-07-30 22:24:11 · 379 阅读 · 0 评论 -
Redis和mysql数据怎么保持数据一致的?
需求起因在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行业务操作。读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就容易出现缓存(Redis)和数据库(MySQL)间的数据一致性问题。不管是先写MySQL数据库,再删除Redis缓存;还是先删除缓存,再写库,都有可能转载 2020-05-18 22:04:57 · 1556 阅读 · 1 评论 -
当 高并发系统下 Redis 发生高延迟时,其内部到底发生了什么
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是 Redis 也会发生延迟时,这是就需要我们对其产生原因有深刻的了解,以便于快速排查问题,解决 Redis的延迟问题一条命令执行过程在本文场景下,延迟 (latency) 是指从客户端发送命令到客户端接收到命令返回值的时间间隔。所以我们先来看一下 Redis 一条命令执行的步骤,其中...转载 2020-03-26 22:03:08 · 1294 阅读 · 0 评论 -
win_redis【win下安装使用redis】
最初在linux下使用下载过redis,linux下的安装redis,但是我们在平时的java项目中普遍使用的是win下的redis,所以这里在win下安装redis。首先重温一下redis,redis是什么?redis是一个高性能的key-value非关系数据库,它可以存键(key)与5种不同类型的值(value)之间的映射(mapping),支持存储的value类型包括:String(字符...原创 2020-02-04 20:09:25 · 455 阅读 · 0 评论 -
Google布隆过滤器与Redis布隆过滤器详解
一、什么是布隆过滤器?布隆过滤器可以用来判断一个元素是否在一个集合中。它的优势是只需要占用很小的内存空间以及有着高效的查询效率。对于布隆过滤器而言,它的本质是一个位数组:位数组就是数组的每个元素都只占用1bit ,并且每个元素只能是0或者1布隆过滤器除了一个位数组,还有 K 个哈希函数。当一个元素加入布隆过滤器中的时候,会进行如下操作:使用K个哈希函数对元素值进行K次计算,得到K个...原创 2019-12-01 21:09:57 · 176 阅读 · 0 评论 -
在Redis中设置了过期时间的Key,需要注意哪些问题?
上一篇文章我们讲到了Redis的内存淘汰策略,这次跟我一起看一下Redis的过期策略。熟悉Redis的同学应该知道,Redis的每个Key都可以设置一个过期时间,当达到过期时间的时候,这个key就会被自动删除。在为key设置过期时间需要注意的事项1、 DEL/SET/GETSET等命令会清除过期时间在使用DEL、SET、GETSET等会覆盖key对应value的命令操作一个设置了过...转载 2019-10-20 09:57:03 · 595 阅读 · 0 评论 -
Redis的内存淘汰策略
Redis占用内存大小我们知道Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小。1、通过配置文件配置通过在Redis安装目录下面的redis.conf配置文件中添加以下配置设置内存大小//设置Redis最大占用内存大小为100Mmaxmemory100mbredis的配置...转载 2019-10-20 09:56:55 · 148 阅读 · 0 评论 -
Redis布隆过滤器
正文场景在项目开发中,我们经常会遇到去重问题。比如:判断一个人有没有浏览过一篇文章,判断一个人当天是否登录过某个系统,判断一个ip是否发过一个请求,等等。比较容易想到的是使用set来实现这个功能。但如果数据量较大,使用set会非常消耗内存,性能也不高。在前面的文章中,我们介绍了一种数据结构:BitMap来提高性能。但BitMap仍然比较消耗内存,尤其是在数据比较稀疏的情况下,使用Bit...转载 2019-10-16 20:20:42 · 2237 阅读 · 0 评论 -
Redis _面试经典
1.什么是redis?Redis 是一个基于内存的高性能key-value数据库。2.Reids的特点Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Val...原创 2019-10-16 08:38:45 · 190 阅读 · 0 评论 -
Redis java API ——Jedis的使用
Redis 不仅是使用命令来操作,现在基本上主流的语言都有客户端代码支持,比如java、C、C#、C++、php、Node.js、Go 等。在官方网站里列一些 Java 的客户端,有 Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用 Jedis 和 Redisson。 在企业中用的最多的就是 Jedis,下面我们就重点学习下 Jedis。Je...原创 2019-10-15 14:41:48 · 287 阅读 · 0 评论 -
Redis 05_List列表 数组 Hash散列
First:基于Linked List实现 元素是字符串类型 列表头尾增删快,中间增删慢,增删元素是常态 元素可以重复出现 最多包含2^32-1元素列表的索引 从左至右,从0开始 从右至左,从-1开始list:队列:L/R R/L 栈: L/L R/R 数组:LINDEX LSET 阻塞:BL BR命令:命令说明block 块,阻塞left...原创 2019-10-05 22:47:21 · 366 阅读 · 0 评论 -
Redis 04_位图bitmap
位图bitmap 【字节数组】位图不是真正的数据类型,它是定义在字符串类型中 一个字符串类型的值最多能存储512M字节的内容 位上限:2^(9+10+10+3)=2^32b——命令设置某一位上的值SETBIT key offset value (0/1) offset偏移量,从0开始获取某一位上的值GETBIT key offset返回指定值0或者...原创 2019-10-04 22:47:12 · 206 阅读 · 0 评论 -
Redis03_基础命令操作
登录客户端后,获取帮助~Help~Help <tab>~Help set~Help @string设置字符串值 set get SET key value [EX seconds] [PX milliseconds] [NX|XX]EX 设置过期时间,秒,等同于SETEX key seconds value PX 设置过期时间,毫秒,等同于PSE...原创 2019-10-03 22:40:18 · 154 阅读 · 0 评论 -
Redis02_数据模型初识
Redis数据模型Redis key 值是二进制安全的,这意味着可以用任何二进制序列作为key值,从形如”foo”的简单字符串到一个JPEG文件的内容都可以。空字符串也是有效key值 Key取值原则键值不需要太长,消耗内存,且在数据中查找这类键值的计算成本较高 键值不宜过短,可读性较差String:(strlen) 基本操作是字符串操作,追加,截取 set,get,append。...原创 2019-10-03 22:30:34 · 192 阅读 · 0 评论 -
Redis01_初识&安装
Redis开源的(BSD协议),(genu)使用ANSI C 编写,基于内存的且支持持久化,高性能的Key-Value的NoSQL数据库 支持数据结构类型丰富,有如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) ...原创 2019-10-03 22:28:35 · 171 阅读 · 0 评论 -
磁盘和内存
这个简单的问题经常被初学计算机的人混淆。经常听他们说“我的机子内存可大了,是 20G。”他们这里所说的“内存”其实是硬盘。他们的理解是:(硬盘)装在机子内部,又能保存数据,不是内存是什么?其实,计算机的内、外之分,不是以机壳来界定的。从计算机的体系结构来讲,硬盘应当是计算机的“外存”。内存应当是计算机内部(在主板上)的一些存储器,用来保存CPU运算的中间数据和计算结果。这些数据有时被保...转载 2019-10-02 20:00:19 · 9306 阅读 · 4 评论