Redis系列
文章平均质量分 89
*King*
这个作者很懒,什么都没留下…
展开
-
8、Redis分布式锁
想要实现分布式锁,Redis必须要有互斥能力,比如setnx命令,即如果key不存在,才会设置它的值。客户端1:客户端2:此时,加锁成功的客户端就可以去操作共享资源。操作完成后,还要及时释放锁,给后来者让出操作共享资源的机会,这里我们可以使用del命令删除这个key即可。问题:当客户端1命到锁后,如果程序处理业务逻辑异常,没有及时释放锁或是进程挂了,没机会释放锁,那么就会造成死锁,客户端1一直占用这个锁,其它客户端就永远拿不到锁了。如何避免上述的死锁呢?可以给这个key设置一个过期时间,假设原创 2021-09-26 21:11:34 · 469 阅读 · 0 评论 -
7、Redis持久化(RDB、AOF)、scan操作
Redis虽然是个内存数据库,但是Redis支持RDB和AOF两种持久化机制,将数据写住磁盘,可以有效避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复。一、RDBRDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。1、触发机制手动触发可以用save和bgsave命令save命令:阻塞当前Redis服务器,直到RDB过程完成为止,对于内存比较大的实例会造成长时间阻塞,线上环境不建议使用。bgsave命令:Redis进原创 2021-09-24 09:22:57 · 315 阅读 · 0 评论 -
6、Redis高级特性(发布和订阅、Stream)
一、发布和订阅1、定义Redis提供了“发布、订阅”模式的消息机制,其中消息订阅者与发布者不直接通信,发布者向指定的频道(channel)发布消息,订阅该频道的每个客户端都可以接收到消息2、操作命令发布消息publish channel message返回值是热闹收到信息的订阅者数量订阅消息subscribe channel [channel ...]订阅者可以订阅一个或多个频道,如果此时另一个客户端发布一条消息,当前订阅者客户端会收到消息。如果有多个客户端同时订阅了同一个频道,原创 2021-09-23 09:50:13 · 779 阅读 · 0 评论 -
5、Redis高级特性(慢查询、Pipeline、事务、Lua)
一、慢查询慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(例如:发生时间,耗时,命令的详细信息)记录下来,Redis 也提供了类似的功能。Redis客户端执行一条命令分为4个部分:1)发送命令 2)命令排队 3)命令执行 4)返回结果慢查询只统计步骤3的时间,所以没有慢查询并不代表客户端没有超时问题。1、慢查询配置Redis提供了 slowlog-log-slower-than 和 slowlog-max-len 配置slowlog-log-s原创 2021-09-21 21:31:03 · 506 阅读 · 0 评论 -
4、Redis高级数据结构(Bitmaps、HyperLogLog、GEO)
一、Bitmaps1、BitmapsBitmaps 本身不是一种数据结构,实际上它就是字符串,但是它可以对字符 串的位进行操作。Bitmaps 单独提供了一套命令,所以在 Redis中使用 Bitmaps和使用字符串的 方法不太相同。可以把 Bitmaps 想象成一个以位为单位的数组,数组的每个单元只能存储 0 和 1,数组的下标在 Bitmaps 中叫做偏移量。(1)setbit设置值设置键的第offset个位的值(从0算起)setbit key offset value假设现在有20个用原创 2021-09-21 12:25:19 · 380 阅读 · 0 评论 -
3、Redis与Java的集成
3、Redis与Java的集成1、Maven配置<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.6.3</version></dependency>2、application.properties配置文件# Redis服务器地址redis.host=1.15.106.原创 2021-09-20 11:19:32 · 294 阅读 · 0 评论 -
2、Redis的常用命令
一、Redis的全局命令操作1、查看所有键keys *-- 也可以模糊搜索查询,但一般不推存keys s*2、查看键总数dbsize3、检查键是否存在exists key4、删除键,返回删除的条数del key5、键过期返回剩余的过期时间:-1表示没有设置过期,-2表示已过期,正数表示还剩余的过期时间(秒)expire key seconds-- 设置时间戳以后过期expireat key 时间戳-- 查看还剩多久过期ttl key6、查看键的数据结构类型ty原创 2021-09-20 10:14:13 · 13189 阅读 · 1 评论 -
1、Redis的安装和基础
一、Liunx centos7下安装Redis-6.2.4版本1、下载redis下载地址:https://redis.io/download比如将redis安装到/usr/local/soft目录cd /usr/local/softwget https://download.redis.io/releases/redis-6.2.4.tar.gz2、解压压缩包tar -zxvf redis-6.2.4.tar.gz 3、检查gcc版本是否低于5,如果是则先升级sudo yum ins原创 2021-09-19 13:10:33 · 189 阅读 · 0 评论