文章 2023-06-19 来自:开发者社区

《微服务实战》 第二十七章 CAS

前言本章节介绍CAS概念、实现原理,并通过java代码实现CAS1、CAS的概念CAS的全称为:CompareAndSwap,直译为对比和交换。CAS实际是普遍处理器都支持的一条指令,这条指令通过判断当前内存值V、旧的预期值A、即将更新的值B是否相等来对比并设置新值,从而实现变量的原子性。Synchronized会线程阻塞称为悲观锁,CAS不会使线程阻塞称为乐观锁。悲观锁其他没有获取锁的线程是不....

《微服务实战》 第二十七章 CAS
文章 2023-06-19 来自:开发者社区

《微服务实战》 第二十六章 Java锁的分类

前言本章节介绍Java中的几种常见的锁:公平锁和非公平锁、可重入锁、独享锁/共享锁、互斥锁/读写锁、乐观锁/悲观锁、分段锁、偏向锁/轻量级锁/重量级锁、自旋锁。1、公平锁和非公平锁公平锁是指多个线程按照申请锁的顺序来获取锁。非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。对于Java ReentrantLo....

文章 2023-06-19 来自:开发者社区

《微服务实战》 第二十五章 Java多线程安全与锁

前言本章节介绍Java多线程安全与锁1、Java多线程安全与锁1.1、多线程安全问题当多个线程同时操作同一个数据时,可能会出现数据不一样的情况,这就是线程安全问题。线程安全机制用于保证多个线程访问数据时的一致性.1.2、线程安全问题三方面原子性一个线程对数据的操作对于其他的线程来说是原子的,要么操作完成,要么什么也没做;当一个线程在操作数据时,不允许其他的线程参与.可见性线程对共享数据的访问是否....

《微服务实战》 第二十五章 Java多线程安全与锁
文章 2023-06-19 来自:开发者社区

《微服务实战》 第二十四章 Spring boot 操作 Redis(下)

5、配置文件application.ymlserver: port: 8002 spring: application: name: redis-service #***********************redis*********************** redis: #redis配置 database: 0 # Redis数据库索引(默认为0) ...

文章 2023-06-19 来自:开发者社区

《微服务实战》 第二十四章 Spring boot 操作 Redis(上)

前言基于Spring Cloud的项目,通过Spring boot 集成并操作Redis。spring redis链接spring redis链接1、新增模块 redis-service2、新增依赖<dependencies> <dependency> <groupId>org.springframework.boot</grou...

《微服务实战》 第二十四章 Spring boot 操作 Redis(上)
文章 2023-06-19 来自:开发者社区

《微服务实战》 第二十三章 Redis RDB AOF

前言Redis 提供了两种持久化机制:第一种是 RDB,又称快照(snapshot)模式,第二种是 AOF 日志,也就追加模式。1、RDBRDB 即快照模式,它是 Redis 默认的数据持久化方式,它会将数据库的快照保存在 dump.rdb 这个二进制文件中。Redis 通过子进程遍历整个内存空间来获取存储的数据,从而完成数据持久化操作1.1、手动触发策略SAVE 命令会阻塞 Redis 服务器....

《微服务实战》 第二十三章 Redis RDB AOF
文章 2023-06-19 来自:开发者社区

《微服务实战》 第二十二章 Redis发布订阅、事务

前言本章节讲解Redis发布订阅、事务。1、发布订阅Redis PubSub 模块又称发布订阅者模式,是一种消息传递系统,实现了消息多播功能。发布者(即发送方)发送消息,订阅者(即接收方)接收消息,而用来传递消息的链路则被称为 channel。1.1、订阅消息1.2、发布者1.3、常用命令命令说明PSUBSCRIBE pattern [pattern …]订阅一个或多个符合指定模式的频道。PUB....

《微服务实战》 第二十二章 Redis发布订阅、事务
文章 2023-06-19 来自:开发者社区

《微服务实战》 第二十一章 Redis HyperLoglog基数统计

前言本章节讲解Redis HyperLoglog基数统计。1、HyperLoglog数据类型HyperLoglog 是 Redis 重要的数据类型之一,它非常适用于海量数据的计算、统计,其特点是占用空间小,计算速度快。基数定义:一个集合中不重复的元素个数就表示该集合的基数,比如集合 {1,2,3,1,2} ,它的基数集合为 {1,2,3} ,所以基数为 3。HyperLogLog 正是通过基数估....

文章 2023-06-19 来自:开发者社区

《微服务实战》 第二十章 Redis连接指令 客户端指令 服务器指令

前言介绍Redis连接指令、客户端指令、服务器指令1、连接指令命令说明AUTH password验证密码是否正确ECHO message打印字符串PING查看服务是否运行正常QUIT关闭当前连接SELECT index切换到指定的数据库2、客户端指令命令说明CLIENT LIST以列表的形式返回所有连接到 Redis 服务器的客户端。CLIENT SETNAME设置当前连接的名称。CLIENT ....

文章 2023-06-19 来自:开发者社区

《微服务实战》 第十九章 Redis key

前言本章节讲解Redis key的类型以及命令。1、key类型key 的类型对应着 value 的类型,同样也有五种(string、list、hash、set、zset)1.1、设置key的值set key value1.2、查看key的类型type key2、key的命名规范key 的命名需要遵循以下规则:key 取值不可以太长,否则会影响 value 的查找效率,并且浪费内存空间。系统名缩写....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

微服务

构建可靠、高效、易扩展的技术基石

+关注