![](https://img-blog.csdnimg.cn/20181130103128553.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Redis从入门到精通
文章平均质量分 56
Redis 从小白到大白
晴天小哥哥
追求卓越, 成功就会在不经意间追上你
展开
-
注解形式实现,Redis分布式锁
Redis工具类参考我的博文:https://blog.csdn.net/weixin_38399962/article/details/82753763一个注解就可以实现分布式锁?这么神奇么?首先定义注解:/** * Description:分布式Redis锁 * User: zhouzhou * Date: 2018-09-25 * Time: 10:55 */@Re...原创 2018-09-26 09:17:21 · 1377 阅读 · 0 评论 -
RedisTemplate实现分布式锁
使用Redis的SETNX命令获取分布式锁的步骤:C1和C2线程同时检查时间戳获取锁,执行SETNX命令并都返回0,此时锁仍被C3持有,并且C3已经崩溃 C1 DEL锁 C1 使用SETNX命令获取锁,并且成功 C2 DEL锁 C2 使用SETNX命令获取锁,并且成功 ERROR : 由于竞态条件,C1和C2都获取到了锁幸运的是,以下面的步骤完全可以避免这种情况发生,看看C4线程如...原创 2018-09-18 10:58:16 · 31858 阅读 · 15 评论 -
Redis 更新(set) key值 会重置过期时间问题
今天在开发的过程中遇到了一个Redis的问题: 当你在redis中插入一个key值,并且设置了对应过期时间. 当过期时间还没到的时候重新 更新 key值会导致 过期时间被刷新, 针对这个问题: 我查看了下redis的官方文档, 他们是这么解释的:The timeout will only be cleared by commands that delete or overwrite the c...原创 2018-09-14 09:34:44 · 58499 阅读 · 2 评论 -
分布式锁, 注解形式, 搞定SpringBoot定时任务@Scheduled 在集群下的优化
SpringBoot提供了 Schedule模块完美支持定时任务的执行在实际开发中由于项目部署在分布式或集群服务器上 会导致定时任务多次触发因此,使用redis分布锁机制可以有效避免多次执行定时任务 核心方法是org.springframework.data.redis.core包下的 setIfAbsent() 方法 返回值为布尔类型 方法类似redis的SETNX命令 ...原创 2018-08-29 14:07:06 · 11624 阅读 · 14 评论 -
NoSql(四) 在分布式数据库中CAP原理 CAP + BASE
1: 传统的ACID是什么? A (Atomictiy[,ætə'mɪsɪti]) 原子性 C (Consistency[kən'sɪstənsi])一致性 I (Isolation) 独立性 D (Durability) 持久性2: CAP C: Consistency 强一致性 例如:数据稍微不对一点, 例如点赞数10万和10万1千的区别 A: Av...原创 2018-05-07 16:35:42 · 384 阅读 · 0 评论 -
NoSql(三) NoSql数据库的四大分类
1 :KV键值对 典型介绍 新浪: BerkeleyDB + redis 美团: redis + tair 阿里, 百度: memcache + redis2: 文档型数据库(bson格式比较多): 典型介绍 MongoDB 是一个基于分布式文件存储的数据库, 由C++ 语言编写.是一个介于关系型数据库和非关系型数据库之间的产品,是非关系数据库中功能最丰富, 最像关系数据库的.3: ...原创 2018-05-07 15:28:36 · 858 阅读 · 0 评论 -
NoSql(二) 数据模型设计(kv,bson,列族, 图形)
1 3V +3高2当下的nosql的经典应用: 当下的应用是sql和nosql的一起使用:举个例子,阿里巴巴中文网站首页: 1商品基本信息: 名称. 价格. 出厂日期, 生产厂商等 -- 存在关系型数据库 2 商品描述,详情, 评价信息(多文字类) --文档类数据库 mongDB 3 商品图片 分布式的文件系统中: 淘宝自己的TFS, Googl...原创 2018-05-07 15:07:19 · 2632 阅读 · 0 评论 -
NoSql(一)入门概述,数据库发展史
1互联网时代背景下大机遇,为什么用nosql1.1 单击mysql的美好年代 那时候网站访问量不大, 用单个数据库完全可以应付.动态交互不多 上述架构下,数据库的瓶颈? 1) 数据量的总大小,一个机器总会放不下 2) 数据的索引(B+tree)一个机器内存放不下时, 3) 访问量(读写混合)一个实例不能承受1.2 Memcached(缓存)+my...原创 2018-05-07 13:43:21 · 2025 阅读 · 0 评论 -
Redis中的String二进制安全机制(binary safe)
【二进制安全】:一个二进制安全功能(函数)是指在一个二进制文件上所执行的不更改文件内容的功能或者操作,其本质上将操作输入作为原始的、无任何特殊格式意义的数据流。【Redis☞String二进制安全】:String类型是二进制安全的,可以把图片和视频文件保存在String中。为了提高网站运行速度,可以使用String类型缓存一些静态文件,如图片文件、CSS文件等。struct sdshdr {int...原创 2018-03-01 10:03:49 · 6347 阅读 · 0 评论 -
Redis(三) Redis的持久化 RDB与AOF
Redis 持久化之RDB和AOFRedis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)。如果你想快速了解和使用RDB和AOF,可以直接跳到文章底部看总结。本章节通过配置文件,触发快照的方式,恢复数据的操作,命令操作演示,优缺点来学习 Redis 的重点知识持久化。RDB 详解RDB 是 Redis 默认的持久化方案。在指...原创 2018-11-30 16:06:04 · 224 阅读 · 0 评论 -
Redis(二) Redis的常用配置
参数说明redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 pidfile /var/run/redis.pid3. 指定Redis监听端口,默...原创 2018-11-30 15:42:57 · 253 阅读 · 0 评论 -
Redis(一)数据类型
Redis 数据类型Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。String(字符串)string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的(见Redis中的String二进制安全)。...原创 2018-03-01 11:21:00 · 227 阅读 · 0 评论 -
Redis实现延迟任务(过期取消订单)
1. 生产需求:用户下订单后,15分钟未支付自动取消; 用户成功下单支付后确认收货, 15天默认好评2. 实现思路利用redis的排序列表,ZSet进行需求实现, 下面是我的流程图和思路导线3. 思路说明我们把Zset中的score当成时间戳, 这样我们就可以获得以时间戳排序的任务列表, 这我们通过score区间进行拉取任务,进行消费.4.代码封装实现首先是封...原创 2019-09-27 09:27:38 · 4945 阅读 · 2 评论