草庐IT

redis-sharp

全部标签

【Redis从头学-16】分析分布式锁中存在的坑,学会如何设计Redis分布式锁

🧑‍💻作者名称:DaenCode🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。😎人生感悟:尝尽人生百味,方知世间冷暖。📖所属专栏:Redis从头学文章目录🌟前言🌟什么是分布式锁🌟如何设计分布式锁🌟死锁问题问题分析问题总结伪代码🌟锁误删除问题、锁过期释放问题问题分析场景分析问题总结伪代码🌟加锁和释放锁非原子性问题问题分析伪代码🌟总结🌟写在最后🌟前言Redis分布式锁作为非常重要的知识点,在工作或者面试中是必不可少的。经过一段时间的学习,本文就带大家分析分布式锁中存在的坑,学会如何设计Redis分布式锁。🌟什么是分布式锁在单机架构中,解决线程安全问题的方案是单机锁,这种锁只能锁当前进

Redis实现朋友圈,微博等Feed流功能,实现Feed流微服务(业务场景、实现思路和环境搭建)

文章目录业务场景Feed流相关概念Feed流特征Feed流分类实现思路环境搭建数据库表结构新建Feeds功能微服务ms-feeds配置类RedisTemplateConfigurationREST配置类RestTemplateConfigurationFeeds实体类FeedsVO响应类业务场景在互联网领域,尤其现在的移动互联网时代,Feed流产品是非常常见的,比如我们每天都会用到的朋友圈,微博,就是一种非常典型的Feed流产品,还有图片分享网站Pinterest,花瓣网等又是另一种形式的Feed流产品。除此之外,很多App的都会有一个模块,要么叫动态,要么叫消息广场,这些也是Feed流产品,

Redis—主从配置

文章目录前言一、Redis主从简介二、参数详解总结前言  前面一篇介绍了Redis常见参数配置,这篇文章主要介绍Redis的主从。一、Redis主从简介  Redis的高可靠性,这里有两层含义:一是数据尽量少丢失,二是服务尽量少中断。AOF和RDB保证了前者,而对于后者,Redis的做法就是增加副本冗余量,将一份数据同时保存在多个实例上。即使有一个实例出现了故障,需要过一段时间才能恢复,其他实例也可以对外提供服务,不会影响业务使用。Redis提供了主从库模式,以保证数据副本的一致,主从库之间采用的是读写分离的方式。读操作:主库、从库都可以接收;写操作:首先到主库执行,然后,主库将写操作同步给从

Redis - 数据类型映射底层结构

简介从数据类型上体现就是,同一个数据类型,在不同的情况下会使用不同的编码类型,底层所使用的的数据结构也不相同。字符串对象字符串对象的编码可以是int、raw和embstr三者之一。embstr编码是专门用于保存简短字符串的一种优化编码方式,与raw编码会调用两次内存分配函数分别创建redisObject结构和sdshdr结构不同,embstr只会使用一次内存分配函数创建一块连续的内存空间同时存放redisObject结构和sdshdr结构。字符串转换编码的条件如下:如果字符串对象存储的是整数值并且不超过long的范围时,优先选择使用int作为编码方式如果存储的字符串长度大于32个字节,会使用r

redis备份方式

Redis有以下两种备份方式:1.RDB备份Redis可以通过定期触发RDB持久化来生成备份文件。RDB备份是将Redis内存中的数据以快照的形式写入磁盘文件,文件以.rdb扩展名保存。可以使用SAVE命令或者BGSAVE命令手动触发RDB备份,也可以通过配置文件设置自动触发备份的策略。2.AOF备份Redis还可以通过AOF(Append-OnlyFile)方式保存备份。AOF备份是将Redis的写操作追加到一个日志文件中,文件以.aof扩展名保存。AOF文件记录了Redis数据库的所有写操作,使用AOF方式可以实现数据的持久化和恢复。可以通过配置文件开启AOF持久化,Redis在重启时会重

分别使用Redis、MySQL、ZooKeeper构建分布式锁

文章目录前言一、分布式锁简介二、分布式锁要求三、实现方案四、数据库分布式锁1、悲观锁2、乐观锁五、Zookeeper分布式锁1、引入Curator和ZooKeeper2、配置ZooKeeper连接3、编写分布式实现类六、Redis分布式锁1、添加Redisson依赖2、配置Redission连接3、编写分布式锁代码类七、Redis锁与ZooKeeper分布式锁的区别备注前言本文使用Java构建三种中间件的分布式锁,下面介绍下三种分布式锁的优缺点,使用MySQL构建分布式锁,因为数据库数据存储在磁盘中,所以IO速率相对较慢,因此构建出来的分布式锁不适合用在高并发场景,对于一些对并发要求不高的系统

yum 快速安装zookeeper、Kafka集群部署 es安装 logstash安装 kibina 分词器 redis

Zookeeper安装Kafka是基于Zookeeper来实现分布式协调的,所以在搭建Kafka节点之前需要先搭建好Zookeeper节点。而Zookeeper和Kafka都依赖于JDK,我这里先安装好了JDK:安装jdkyuminstalljava-1.8.0-openjdk*-y1[root@192.168.99.4~]#java--versionjava11.0.52019-10-15LTSJava(TM)SERuntimeEnvironment18.9(build11.0.5+10-LTS)JavaHotSpot(TM)64-BitServerVM18.9(build11.0.5+10

华为云云耀云服务器L实例评测|认识redis未授权访问漏洞 & 漏洞的部分复现 & 设置连接密码 & redis其他命令学习

前言最近华为云云耀云服务器L实例上新,也搞了一台来玩,期间遇到过MySQL数据库被攻击的情况,数据丢失,还好我有几份备份,没有造成太大的损失。昨天收到华为云的邮箱提醒,我的redis数据库没有设置密码,也就是说只要知道我服务器的ip以及redis的端口就能连上我的redis数据库。我说怎么我的redis里面的数据总是会莫名消失。。。本篇博客介绍redis连接密码设置以保证redis缓存数据库的安全性,以及查看redis数据库相关情况的命令。其他相关的华为云云耀云服务器L实例评测文章列表如下:初始化配置SSH连接&安装MySQL的docker镜像&安装redis以及主从搭建&7.2版本redis

redis做缓存(cache)

什么是缓存缓存(Cache)的核心思路就是把一些常用的数据放到访问速度更快的地方,方便获取。关于硬件的访问速度来说CPU寄存器>内存>硬盘>网络因此常见使用内存作为硬盘的缓存,例如redis。使用硬盘作为网络的缓存,例如浏览器通过http/https从服务器上获取到数据(html,css,js,图片,视频,音频,文字)像这种体积大,又不太会改变的数据,就可以保存到浏览器本地,后续在打开该网页,就不必重新从网络获取上述数据了。根据“二八原则”,20%的热点数据,能够应对80%的访问场景。因此只需要把这些少量的热点数据缓存起来,就可以应对大多数的场景,从而在整体上有明显的性能提升。使用redis作

nodejs中如何使用redis

nodejs中如何使用redis一、Redis是什么?Redis 是一个开源的内存数据结构存储器,一般可以用于数据库、缓存、消息代理等,我们常在项目中用redis解决高并发、高可用、高可扩展、大数据存储等问题;它本质上是一个NoSql(非关系型数据库),我们常用的MySQL则是关系型数据库。它并不能替代关系型数据库,更多的时候是对关系型数据库的一种补充;二、Redis的基本数据类型字符串哈希列表集合有序集合HyperLogLog位图redis中共有七种数据类型,我这边会简单介绍下其中五种常见的数据类型;2-1、字符串(String)字符串的类型是Redis中最基础的键值对类型,可以保存普通文字