Redis的主要功能?1、redis是一个单线程的NoSQL数据库,主要用来做数据缓存,一般大型网站的应用和数据库之间的那一层就是Redis 。
2、Redis简介Redis是一个高性能的key-value数据库 。Redis 与其他 key - value 缓存产品有以下三个特点:- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用 。
3、Redis支持发布订阅模式,可以用于实现实时消息推送、事件通知等场景 。发布者将消息发布到特定的频道,订阅者可以订阅感兴趣的频道并接收消息,实现消息的实时分发 。
4、redis的配置特性 save seconds updates,save配置,指出在多长时间内,有多少次更新操作,就将数据同步到数据文件 。这个可以多个条件配合,比如默认配置文件中的设置,就设置了三个条件 。
分布式锁是什么但是 , 随着业务发展的需要,原单体单机部署的系统被演化成分布式集群系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效,单纯的应用并不能提供分布式锁的能力 。
分布式锁其实可以理解为:控制分布式系统有序的去对共享资源进行操作,通过互斥来保持一致性 。
分布式锁是控制分布式系统之间同步访问共享资源的一种方式 。原理就是,当我们要实现分布式锁 , 最简单的方式可能就是直接创建一张锁表,然后通过操作该表中的数据来实现了 。
与分布式锁对应的是【单机锁】,我们在写多线程程序时,避免同时操作一个共享变量而产生数据问题,通常会使用一把锁来实现【互斥】,其使用范围是在【同一个进程中】 。(同一个进程内存是共享的,以争抢同一段内存,来判断是否抢到锁) 。
分布式锁实现的三个核心要素:加锁 最简单的方法是使用 setnx 命令 。key 是锁的唯一标识,按业务来决定命名 。比如想要给一种商品的秒杀活动加锁,可以给 key 命名为 “lock_sale_商品ID”。
细说分布式redis注意 rLock.tryLock(10 , TimeUnit.SECONDS); 时间要设置大一点,如果等待时间太短,小于获取锁 redis 命令的时间,那么就直接返回获取锁失败了 。
说实话,如果在公司里落地生产环境用分布式锁的时候 , 一定是会用开源类库的,比如Redis分布式锁,一般就是用Redisson框架就好了 , 非常的简便易用 。
【redis分布式解决方案 分布式redis架构】Availability :分布式中的 A 表示的是可用性,也就是说服务一直可用,而且是正常响应时间 。而你在搭建分布式系统的时候,要保证每个节点都是稳定的 , 不然你的可用性就没有得到相对应的保证 , 也谈不上是什么分布式了 。
推荐阅读
- 如何解决ERP服务器卡顿问题? erp服务器卡怎么解决
- 如何查看局域网中的私有服务器? 怎么查看局域网服务器私网
- 如何在腾讯云服务器上导出日志? 腾讯云服务器怎么导出日志
- redis 代理 redis代理中间件