随笔分类 -  Redis

Redis:REmote Dictionary Server(远程字典服务器),Redis的性能非常高,单机能够达到15w qps,通常适合做缓存,也可以持久化。 Redis是完全开源免费的,高性能的(key/value)分布式 内存数据库,基于内存运行 并支持持久化的NoSQL数据库,是最热门的NoSQL数据库之一,也称为 数据结构服务器。
摘要:为什么使用缓存? 高性能: 就是说对于一些需要复杂操作耗时查出来的结果,且确定后面不怎么变化,但是有很多读请求,那么直接将查询出来的结果放在缓存中,后面直接读缓存就好 高可用(高并发场景): 缓存是走内存的,内存天然就支撑高并发。 缓存功能简单,说白了就是 key-value 式操作,单机支撑的并发 阅读全文
posted @ 2021-04-05 15:11 pangqianjin 阅读(57) 评论(0) 推荐(0) 编辑
摘要:海量数据下,如何快速查找一条数据? 使用布隆过滤器,快速过滤不存在的记录。 使用Redis的bitmap结构来实现布隆过滤器。 在Redis中建立数据缓存。 以普通字符串的形式来存储(userId → user.json) 以一个hash来存储一条记录 以一个整的hash来存储所有的数据 存在的问题 阅读全文
posted @ 2021-04-05 15:03 pangqianjin 阅读(782) 评论(0) 推荐(0) 编辑
摘要:Redis如何配置KEY的过期时间?他的实现原理是什么? redis设置key的过期时间:1.EXPIRE。2.SETNX。 实现原理: 定期删除:每隔一段时间,执行一次删除过期key的操作。 懒汉式删除:当使用get,getset等指令去获取数据时,判断key是否过期。过期后,就先把key删除,再 阅读全文
posted @ 2021-04-04 20:33 pangqianjin 阅读(635) 评论(0) 推荐(0) 编辑
摘要:如何设计一个分布式锁?如何对锁性能进行优化? 分布式锁的本质:就是在所有进程都能访问到的一个地方(如数据库、zookeeper、Redis),设置一个锁资源,让这些进程都来竞争锁资源。通常对于分布式锁,会要求响应快、性能高、与业务无关。 Redis实现分布式锁: SETNX key value :N 阅读全文
posted @ 2021-04-04 20:19 pangqianjin 阅读(607) 评论(0) 推荐(0) 编辑
摘要:如何保证Redis与数据库的数据一致? 当我们对数据进行修改的时候,到底是先删缓存,还是先写数据库? 1.如果是先删缓存,再写数据库:在高并发场景下,当第一个线程删了缓存,还没有来得及写数据库,第二个线程来读数据,会发现缓存中的数据为空, 那就会去读数据库中的数据(旧值/脏数据),读完之后,把读到的 阅读全文
posted @ 2021-04-04 19:28 pangqianjin 阅读(796) 评论(0) 推荐(0) 编辑
摘要:什么是缓存穿透? 缓存穿透:缓存中查不到,数据库中也查不到。 解决方案: 对参数进行合法性校验 将数据库中没有查到结果的数据也写入到缓存。这时要注意为了防止Redis被无用的key占满,这一类缓存的有效期要设置得短一点。 引入布隆过滤器(BloomFilter),在访问Redis之前判断数据是否存在 阅读全文
posted @ 2021-04-04 19:01 pangqianjin 阅读(81) 评论(0) 推荐(0) 编辑
摘要:Redis连接池 说明:通过Golang对Redis进行操作,还可以通过Redis连接池,流程如下: 1)事先初始化一定数量的连接,放入连接池中; 2)当需要操作Redis时,直接从Redis连接池中取出连接即可; 3)这样可以节省临时获取Redis连接的时间,从而提高效率 核心代码 var poo 阅读全文
posted @ 2021-02-16 15:05 pangqianjin 阅读(875) 评论(0) 推荐(0) 编辑
摘要:1.使用第三方开源的redis库:github.com/garyburd/redigo/redis 2.在使用之前,先安装第三方Redis库,在GOPATH下执行(需要已安装Git): go get github.com/garyburd/redigo/redis 3.安装成功后,可以在GOPATH 阅读全文
posted @ 2021-02-16 14:30 pangqianjin 阅读(1180) 评论(0) 推荐(0) 编辑
摘要:Redis的五大数据类型 String(字符串),Hash(哈希),List(链表),Set(集合),zset(sorted set:有序集合) String(字符串) string是redis最基本的类型,一个key对应一个value string类型是二进制安全的,除普通的字符串外,也可以存放图 阅读全文
posted @ 2021-02-16 14:01 pangqianjin 阅读(172) 评论(0) 推荐(0) 编辑
摘要:Redis指令参考 http://redisdoc.com/ 基本使用 默认有16个数据库,编号是0...15,初始使用0号库。 添加 key-value: [set 键 值] 查看当前 redis 的所有key: [keys*] 获取 key 对应的值: [get key] 切换 redis 数据 阅读全文
posted @ 2021-02-16 13:00 pangqianjin 阅读(53) 评论(0) 推荐(0) 编辑
摘要:Redis的基本介绍 1.Redis是NoSQL数据库,不是传统的关系型数据库 官网:https://redis.io/和http://www.redis.cn/ 2.Redis:REmote Dictionary Server(远程字典服务器),Redis的性能非常高,单机能够达到15w qps, 阅读全文
posted @ 2021-02-16 11:18 pangqianjin 阅读(94) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示