自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Redis 中乐观锁的实现

Redis 中乐观锁的实现 乐观锁与悲观锁 乐观锁与悲观锁是锁的两种不同的实现思路,乐观锁倾向于假定程序的运行不存在线程问题,在更新数据的时候先去看一下有没有人更改过数据,等数据更改后再来加锁。悲观锁与此相反,其假定程序的运行一定会出现线程问题,所以在执行指令之前,先加锁。 Redis 中的乐观锁 Redis 中的乐观锁是通过 WATCH 命令来实现的。WATCH 指令可以监视一个或多个 key,可以在事务开始之前为 key 添加 watch,若在事务执行之前监控的 key 发生了变化,则事务将会

2021-01-26 09:01:19 356

原创 一文了解 Redis 的事务操作

一文了解 Redis 的事务操作 Redis 事务的简介 之前在学习 MySQL 的时候,大家都知道事务是一组命令的集合,其拥有四个特性,分别是原子性(Atomicity),一致性(Consistency),隔离性(Isolation)和持久性(Durability)。Redis 的事务和 MySQL 稍有不同,其就是一个命令的队列,从头到尾依次执行队列中的任务,且可以保证其他客户端的请求不会插入到事务命令队列内。其不保证 MySQL 事务中的原子性,也没有一致性和隔离级别的概念,只能有一次性,有序性,

2021-01-25 09:12:46 150

原创 Redis 三种特殊数据类型之 Bitmaps 类型

Redis 三种特殊数据类型之 Bitmaps 类型 简单介绍 Bitmaps 也叫位图,使用上有点类似于一个特殊的数组,和普通数组不一样的是,Bitmaps 中存储的每一个元素都是一个位(bit)。 基本操作 127.0.0.1:6379> SETBIT bitmap 0 1 # 设置 Bitmaps 第一个位的值为 0 (integer) 0 127.0.0.1:6379> SETBIT bitmap 1 0 (integer) 0 127.0.0.1:6379> SETBIT

2021-01-20 08:48:29 180

原创 Redis 三种特殊类型之 Hyperloglog 类型

Redis 三种特殊类型之 Hyperloglog 类型 简单介绍 ​ Hyperloglog 是一个逼(shi)格(yong)满(lv)满(di)的 Redis 数据类型,其可以在一定容错率的条件下计算一组数据的基数。 何为基数? ​ 一组数据的基数指的是这组数据中去重之后的数据的数量,也就是该组数据所对应的 set 的长度。如一组数据 a = (1,2,3,4,5,1,2,4,3,5)的基数就为 5。 基本操作 127.0.0.1:6379> PFADD my

2021-01-19 09:13:44 179

原创 Redis 三种特殊类型之 Geospatial 类型

Redis 三种特殊类型之 Geospatial 类型 简单介绍 Geospatial(地理空间)在 Redis 3.2 版本推出, 是一种地理位置相关的数据结构。该功能可以推算地理位置的信息,两地之间的距离,方圆几里的人。一般可以用于朋友的定位,附近的人,打车的距离等场景。 基本指令 # GEOADD 添加地理位置信息,这里注意不能包括两极地区 127.0.0.1:6379> GEOADD china:city 116.40 39.90 beijing # 添加一个地理位置信息,经度,纬度,

2021-01-13 08:25:03 260

原创 Redis 基本数据类型之 Zset 类型

Redis 基本数据类型之 zset 类型 基本指令 # zset 相对于 set 多了一个 score 字段,是一个有序的集合,其成员是唯一的,但 score 可以重复 127.0.0.1:6379> zadd myzset 1 one # 向 zset 添加一个值 (integer) 1 127.0.0.1:6379> zadd myzset 2 two (integer) 1 127.0.0.1:6379> zadd myzset 4 four 3 three # 向 zset

2021-01-12 08:49:03 248

原创 Redis 基本类型之 Hash 类型

Redis 基本类型之 Hash 类型 基础指令 # Hash 可以理解为一个 Map,里面存的都是 field-value 键值对,其指令都是以 h 开头 # hset 127.0.0.1:6379> hset myhash field hello # set 一个具体的 field-value (integer) 1 # hget 127.0.0.1:6379> hget myhash field # 获取一个字段的值 "hello" # hmet 127.0.0.1:6379&g

2021-01-06 08:57:12 180 1

原创 Redis 基本类型之 Set 类型

Redis 基本类型之 Set 类型 基本指令 # sadd 127.0.0.1:6379> sadd myset hello # 在集合中添加元素 (integer) 1 127.0.0.1:6379> sadd myset iron (integer) 1 127.0.0.1:6379> sadd myset egg (integer) 1 # smembers 127.0.0.1:6379> smembers myset # 查看指定集合的所有值 1) "egg" 2)

2021-01-05 08:23:12 122

原创 Redis 基本类型之 List 类型

Redis 基本类型之 List 类型 基本指令 # 在 redis 里,list 是一个双向链表,可以用作栈,队列,阻塞队列 ################################################################################################################ # PUSH 127.0.0.1:6379> lpush list one # 将一个值或者多个值放入列表头部(从左边) (integer) 1

2021-01-04 08:23:04 185

原创 Redis 基本类型之 String 类型

Redis 基本类型之 string 类型详解 基础指令 127.0.0.1:6379> set key1 v1 # 设置 key1 OK 127.0.0.1:6379> get key1 # 取 key1 "v1" 127.0.0.1:6379> keys * # 查看所有的 key 1) "key1" 127.0.0.1:6379> exists key1 # 查看 key1 是否存在 (integer) 1 127.0.0.1:6379> append key1 he

2021-01-03 15:05:34 113

原创 一文了解 redis 自带的性能测试工具

一文了解 redis 自带的性能测试工具 简介 redis-benchmark 是 redis 官方自带的性能测试工具,它是通过同时执行多个命令实现的。 命令执行样例如下: redis-benchmark -n 10000 -q 即 redis-benchmark [option] [option value] 具体的命令参数如下所示: 具体使用分析(hello world) # 测试 100 个并发连接,每个连接 50000 个请求: wangyanlideAir:~ sylvia$ r

2021-01-03 12:02:34 403

原创 Redis基本知识

Redis基本知识 概述 Redis 是什么? Redis(Remote Dictionary Server ),即远程字典服务 使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 免费,开源,是当下最热门的 NoSQL 技术之一。 Redis 可以做什么? Redis 具有可持久化的特点,可以做内存数据库。 Redis 存取效率很高,可以用来做高速缓存。 用于发布订阅系统 地图信息分析 计时器,计数器(浏览量) 分布式锁 R

2020-12-31 08:25:12 104

原创 Spring Boot 的相关知识点(一)

1 @value 和 @ConfigurationProperties 的区别 @ConfigurationProperties @Value 功能 批量注入配置文件中的属性 一个个指定 松散绑定(一种松散语法) 支持 不支持 SpEL(一种计算形式) 不支持 支持 JSR303 数据校验(@Validated) 支持 不支持 复杂类型封装 支持 不支持 在用...

2019-12-11 14:12:33 153

原创 YAML 的敲门砖

1 YAML 简介 ​ YAML(YAML Ain’t Markup Language) ​ YAML A Markup Language: 是一个标记语言 ​ YAML isn’t Markup Language: 不是一个标记语言 ​ 标记语言: ​ 以前的配置文件,大多使用的是 xxx.xml 文件; ​ YAML: 以数据为中心,比 json、xml 等更适合做...

2019-12-11 09:44:01 131

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除