redis
文章平均质量分 63
keeper42
Just do one thing and do it well! 要么别做,要做就做到最好!
展开
-
【Redis】Redis面试题及答案
redis转载 2022-03-22 16:47:27 · 153 阅读 · 0 评论 -
【Redis】缓存穿透、缓存雪崩、缓存击穿
缓存穿透指查询一个不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到 DB 去查询,可能导致 DB 挂掉。出现原因自身业务代码或者数据出现问题、恶意的请求会故意查询不存在的 key解决方案查询返回的数据为空,仍把这个空结果进行缓存,但过期时间会比较短;布隆过滤器:将所有可能存在的数据哈希到一个足够大的 bitmap 中,一个一定不存在的数据会被这个 bitmap 拦截掉,从而避免了对 DB 的查询。布隆过滤器实际上是一个很长的二进制向量和一系列随原创 2022-03-22 16:08:22 · 55 阅读 · 0 评论 -
【Redis】redis持久化 RDB vs AOF (源码)
Redis持久化RDB vs AOFRDB优点RDB是一个紧凑压缩的二进制文件,代表Redis在某一个时间点上的数据快照,非常适合用于备份、全量复制等场景。 RDB对灾难恢复、数据迁移非常友好,RDB文件可以转移至任何需要的地方并重新加载。 RDB是Redis数据的内存快照,数据恢复速度较快,相比于AOF的命令重放有着更高的性能。RDB缺点RDB方式无法做到实时或秒级持久化。因为持久化过程是通过fork子进程后由子进程完成的,子进程的内存只是在fork操作那一时刻父进程的数据快照,而f原创 2022-02-13 16:43:27 · 150 阅读 · 0 评论 -
Redis缓存清理
1.访问redis根目录cd/usr/local/redis2.登录redis:redis-cli-h127.0.0.1-p63793.查看所有key值:keys*4.删除指定索引的值:delkey5.清空整个Redis服务器的数据:flushall6.清空当前库中的所有key:flushdb...原创 2021-09-24 11:43:37 · 4250 阅读 · 0 评论 -
【Redis】redis解决高并发问题,如商品秒杀
redis之所以能解决高并发的原因是它可以直接访问内存,而以往我们用的是数据库(硬盘),提高了访问效率,解决了数据库服务器压力。为什么redis的地位越来越高,我们为何不选择memcache,这是因为memcache只能存储字符串,而redis存储类型很丰富(例如有字符串、LIST、SET等),memcache每个值最大只能存储1M,存储资源非常有限,十分消耗内存资源,而redis可以存储1G,最重要的是memcache它不如redis安全,当服务器发生故障或者意外关机等情况时,redsi会把内存中的数原创 2021-01-29 11:13:55 · 235 阅读 · 1 评论 -
【Redis】Redis 备份、容灾及高可用实战
一,Redis简单介绍Redis是一个高性能的key-value非关系型数据库,由于其具有高性能的特性,支持高可用、持久化、多种数据结构、集群等,使其脱颖而出,成为常用的非关系型数据库。此外,Redis的使用场景也比较多。 会话缓存(Session Cache) Redis缓存会话有非常好的优势,因为Redis提供持久化,在需要长时间保持会话的应用场景中,如购物车场景这样的场景中能提供很好的长会话支持,能给用户提供很好的购物体验。 全页缓存 在WordPress中,Pantheo原创 2021-01-29 11:12:55 · 220 阅读 · 0 评论 -
「redis存储篇」string数据类型的操作
1.set key value2.get key3.setnx key value (只insert不update,即,仅仅key不存在时,则设置key的值为value,并返回1,否则返回0 。setnx 是set if not exists 的缩写 )4.setex key seconds value ( 设置key的过期时间和值。过期时间seconds单位是秒。设置过期时间和值是原子操作,如果redis仅仅当做缓存,这个很命令很有用。)5.mset key value k原创 2020-12-29 17:57:33 · 141 阅读 · 0 评论 -
redis后台请求防重发
通过spirng的切面aop机制来统一拦截所有的方法,采用用户唯一标记和所调用的方法名结合作为key来加锁,保证同一用户的同一方法在单位时间内只有一个请求会被执行,另外的请求在当前请求执行中会被丢弃,返回特定的返回码给前端,不影响用户使用,用户无感知。加锁采用的是redis数据库,redis比传统的数据要更高效快速并发更高,和java自带的锁比又满足系统分布式要求。redis是单进程机制,天生满足并发要求,因为在是操作内存速度又快,综合比较满足请求防重发的要求。...原创 2020-11-21 11:17:38 · 362 阅读 · 0 评论 -
Redis持久化
1. RDB(快照)持久化:保存某个时间点的全量数据快照 SAVE:阻塞Redis的服务器进程,直到RDB文件被创建完毕 BGSAVE:Fork出一个子进程来创建RDB文件,不阻塞服务器进程 自动化触发RDB持久化的方式:根据redis.conf配置里的SAVE m n定时触发(用的是BGSAVE)、主从复制时主节点自动触发、执行Debug Reload、执行Shutdown且没有开启...原创 2019-05-25 01:41:48 · 82 阅读 · 0 评论 -
Redis面试题
0. Redis的主要数据类型? string、hash、list、set及zset(sorted set:有序集合)1. Memcache与Redis的区别? Memcache支持简单数据类型、不支持数据持久化存储、不支持主从、不支持分片; Redis数据类型丰富、支持数据磁盘持久化存储、支持主从同步、支持分片。2. Redis能够做什么? 如图所示[1...原创 2019-05-25 01:12:10 · 144 阅读 · 0 评论 -
【Jedis】在多线程环境中使用Jedis
翻译自:https://github.com/xetorthio/jedis/wiki/Getting-started您不应该使用来自不同线程的相同实例,因为您会遇到奇怪的错误。有时创建大量的Jedis实例还不够好,因为这意味着大量的套接字和连接,这也会导致奇怪的错误。单个Jedis实例不是线程安全的!为避免这些问题,应使用JedisPool,它是网络连接的线程安全池。给定完成后将Jedis实例返回到池中,可以使用该池可靠地创建多个Jedis实例。这样,您可以克服这些奇怪的错误并获得出色的性能。..翻译 2020-09-24 16:39:19 · 489 阅读 · 0 评论 -
【Redis】Redis数据类型与通用操作
数据类型(string,list,hash,set,sortedSet) string 掌握的操作: 赋值 格式: set key value 例如:set username tom 取值 格式: get key 例如: get username 先获取再设置 ...原创 2020-09-24 16:27:28 · 64 阅读 · 0 评论