![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 83
pmc0_0
想做一个优秀的Java后端开发工程师
展开
-
Redis实践优化
如果没有密码和采用默认端口,容易让黑客利用Redis先保存数据在内存,然后持久化到服务器,接着config set到对应目录,ssh连接相关目录下的公钥,则无密码操作服务器,很危险。优点:更节省内存,key是string类型,底层编码包含int、embstr和raw三种。embstr在小于44字节使用,采用连续内存空间,内存占用更小。Key中的成员数过多:一个ZSET类型的Key,它的成员数量为10,000个。Key本身的数据量过大:一个String类型的Key,它的值为5MB。要永久启用,修改配置文件。原创 2022-09-20 23:08:32 · 335 阅读 · 0 评论 -
Redis持久化
也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。快照文件称为RDB文件,默认是保存在当前运行目录。完成fork后读取内存数据并写入RDB文件。Redis也会在触发阈值时自动去重写AOF文件。AOF会记录对同一个key的多次写操作,但只有最后一次写操作才有意义。命令,可以让AOF文件执行重写功能,用最少的命令达到相同效果。都会记录在AOF文件,可以看做是命令日志文件。bgsave开始时会。原创 2022-09-18 22:04:25 · 293 阅读 · 0 评论 -
优惠劵秒杀优化-分布式锁
当我们去设置了多个锁时,redission 会将多个锁添加到一个集合中,然后用 while 循环去不停去尝试拿锁,但是会有一个总共的加锁时间,这个时间是用需要加锁的个数 * 1500ms ,假设有 3 个锁,那么时间就是 4500ms,假设在这 4500ms 内,所有的锁都加锁成功, 那么此时才算是加锁成功,如果在 4500ms 有线程加锁失败,则会再次去进行重试。这个方法,如果插入 key 成功,则表示获得到了锁,如果有人插入成功,其他人插入失败则表示无法获得到锁,利用这套逻辑来实现分布式锁。原创 2022-09-16 16:32:57 · 669 阅读 · 0 评论 -
Redis基础使用
文章目录一、Redis简介优势一、Redis简介Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(strings),散列(hashes),列表(lists),集合(sets), 有序集合(sorted sets) 与范围查询,bitmaps,hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting),原创 2021-06-13 12:45:12 · 425 阅读 · 1 评论 -
Redis进阶
文章目录Redis 事务Redis乐观锁集群主从复制配置虚拟1主2从主机和从机是读写分离改进成链路模式哨兵模式单哨兵模式Redis 事务一次性顺序性排他性Redis单条命令式保证了原子性,但事务不保证原子性,所有的命令在事务中,并没有直接被执行,而是进入队列,只有发起执行命令后才会执行开启事务(multi)命令入队执行事务(exec)放弃事务(discard)【也可以不执行事务而放弃事务,命令队列不会被执行】如果命令入队时发生了编译时异常,则会放弃事务如果命令入队时发原创 2021-07-24 16:54:03 · 76 阅读 · 0 评论 -
Redis安装和启动
文章目录一、下载安装包二、上传到Centos7.x的OPT目录下三、下载最新版的gcc编译器(c语言的编译器)四、解压Redis五、进入解压目录并执行make命令六、编译成功后安装七、查看安装后的文件说明八、后台启动1.进入Redis解压目录下,把redis.conf文件复制到etc目录下2.修改redis.conf文件下的daemonize值为yes3.进入安装目录下执行命令九、连接Redis十、关闭Redis一、下载安装包Redis官网下载二、上传到Centos7.x的OPT目录下三、下原创 2021-06-11 17:30:43 · 133 阅读 · 1 评论 -
Redis查询缓存
缓存10和数据库20出现了不一致,这种出现问题可能较小,因为写缓存时间非常短,这期间出现一个并发的线程插入可能较小。因为缓存不存在过期,只有逻辑过期(查不到热点,证明数据库也没有了),所以直接返回空,解决了缓存穿透问题,就不用考虑了。缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。更新缓存每次更新数据库都更新缓存,假如更新数据库100次,缓存也更新100次,但期间没人查询,删除缓存更新数据库时让缓存失效,查询时再更新缓存。先删除缓存,再操作数据库。...原创 2022-07-30 17:58:22 · 1722 阅读 · 0 评论