- 博客(18)
- 收藏
- 关注
原创 Mysql8.0新增的排名函数
大家好,我是犀牛真皮。今天想解释下这个名字,这个名字的来源是电影《夏日福星》中的角色犀牛皮。好了,接下来进入正题,讲解下mysql8.0新增的几个排名相关的窗口函数。 用过mysql5.xx版本的小伙伴肯定知道,我们排序时,一般都是先分组再排序,一条sql有时候会写的非常的复杂。而mysql8.0新增的这几个窗口函数,就大大的简化了我们的sql。 我们先来了解下,什么叫做窗口函数?窗口函数也称为OLAP函数。OLAP是online...
2021-10-02 23:12:53
782
2
原创 Redis从入门到入坟系列文章(十四):哨兵模式
在上一篇文章我们了解了主从复制,今天来了解下哨兵模式。那么问题来了,为什么我们要使用哨兵模式?前面讲解主从复制时,我们建立了一主二从三个服务。当主机宕机时,就会变成群龙无首,也就是说此时没有主机,只有两个从机,这肯定是不合理的。这个时候我们就需要用到哨兵模式了。 顾名思义,哨兵模式就是监控Redis系统的运行情况。其主要功能有以下三点:会不断的监控主数据库和从数据库是否正常运行。 当被监控的某个 Redis 服务器出现问题时,Sentinel 可以通过 API 向管理...
2021-09-24 12:58:23
231
1
原创 Redis从入门到入坟系列文章(十三):主从复制
今天来聊一下Redis的主从复制。Redis的主从复制跟关系型数据库(比如mysql)的主从复制类似。主从复制由于能够实现读写分离和从机实现对主机的数据备份的特点,所以在一定程度上是可以扩展Redis的性能的。 接下来,就看下Redis主从复制的实现。我们配置一个主机Master和一个从机Slave:192.168.43.241:6379(这个ip即为本地的ip) 192.168.43.241:6380把6380从机的redis.windows.conf文件改为re...
2021-09-19 23:32:36
176
1
原创 Redis从入门到入坟系列文章(十二):持久化
今天来了解下Redis的持久化。Redis提供了两种持久化方式:RDB和AOF。RDB:能够在指定的时间间隔能对你的数据进行快照存储 AOF:记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以redis协议追加保存每次写的操作到文件末尾。RDB:我们先来看看RDB持久化方式。RDB是默认开启的。有关RDB的默认配置,我们打开文件reids.conf(windows系统是redis.windows.conf),其中相关的配置主要有如下几项:save
2021-09-10 18:18:30
139
原创 Redis从入门到入坟系列文章(十一):连接(Connection)
各位小伙伴,大家好,今天来了解下Redis的Connection的相关命令。Redis的Connection命令主要用来连接 redis 服务。废话不多说,接下来就来看看Connection命令。1、AUTH password:检测给定的密码和配置文件中的密码是否相符。如果密码与配置文件里面设置的密码一致,服务端就会发会一个OK的状态码,接受客户端发送其他的请求命令,否则服务端会返回一个错误码...
2021-09-06 12:40:36
1348
1
原创 Redis从入门到入坟系列文章(十):脚本
今天来了解下Redis的脚本,Redis是使用 Lua 解释器来执行脚本。Redis是从2.6.0版本开始使用内置的 Lua 解释器,执行脚本的常用命令为 EVAL。 接下来,就先说下Redis脚本相关的几个命令。1、...
2021-09-03 12:34:09
90
1
原创 Redis从入门到入坟系列文章(九):事物
今天来了解下Redis的事物。事务可以一次执行多个命令, 并且带有以下几个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。 批量操作在发送 EXEC 命令前被放入队列缓存。EXEC 命令负责触发并执行事务中的所有命令:如果客户端在使用 MULTI 开启了一个事务之后,却因为断线而没有成功执行 EXEC,那么事务中
2021-08-26 19:31:10
184
4
原创 Redis从入门到入坟系列文章(八):发布订阅
Redis的发布订阅是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。这就类似疫情的时候我们村里的大广播一样,大广播播放消息时,村民就是订阅者,接收到消息后就不准聚餐或者打牌。 下面我们实例演示下发布订阅是如何工作的,我们开启3个redis-cli 客户端。演示命令如下:我们先开启三个客户端; 两个客户端一个订阅c1、一个订阅c2,用来接收消息。C:\Users\Administrator>redis-cli127.0.0....
2021-08-20 23:32:47
86
2
原创 Redis从入门到入坟系列文章(七): 基数统计算法
今天来了解下Redis的基数统计算法结构HyperLogLog。HyperLogLog结构是Redis在在 2.8.9 版本新增加的。HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储.
2021-08-19 12:12:41
379
原创 Redis从入门到入坟系列文章(六): 有序集合(ZSet)
各位大佬晚上好,今天我们来学习下Redis的有序集合Zset(sorted set)。Zset和Set一样也是 string 类型元素的集合,且不允许重复的成员。其特性跟Set类似,也是通过哈希表实现的,所以添加、删除、查找都非常高效,复杂度都是 O(1)。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。正是因为这一特性,所以Zset很适合用于统计排行榜这一场景。Zset的成员是唯一的,但其分数(score)是可以重复的。简单的
2021-08-17 14:54:31
2482
原创 Redis从入门到入坟系列文章(五): 集合(Set)
今天来了解下Redis的Set这一数据类型。Set是String类型的无序集合。跟java中的Set类似,Redis的Set是一个无序且不能有重复元素的集合。集合对象的编码可以是 intset 或者 hashtable:intset编码的集合对象使用整数集合作为底层实现,集合对象包含的所有元素都被保存在整数集合里面;hashtable编码的集合对象使用字典作为底层实现,字典的每个键都是一个字符串对象,每个字符串对象包含了一个集合元素,而字典的值全部被设置为NULL。Redis 中集合是通过哈
2021-08-13 16:36:23
114
原创 Redis从入门到入坟系列文章(四): 列表(List)
今天了解下Redis的列表数据类型List,List是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。如果添加的时候不存在,就会创建一个新的列表;反之,如果删除了列表中的所有元素,这个列表页会被删除。一个列表最多可以包含 2的32次方 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。接下来,就看一下List的一些常用命令:1、LPUSH key value1 [value2...]:将一个或多个值插入到列表头部比如:往myli
2021-08-10 15:42:05
124
2
原创 Redis从入门到入坟系列文章(三): 哈希(Hash)
Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。Redis 中每个 hash 最多可以存储 2^32 - 1 键值对(40多亿)。我们先了解下hash的内部编码实现,其分为两种:压缩列表ziplist和哈希表hashtable。数据量存储较小的情况下使用ziplist,其满足一下设置的两个条件,就会使用ziplist:1)、hash-max-ziplist-entries,默认值为512,哈希元素少于该配置,2
2021-08-06 11:58:49
652
原创 Redis从入门到入坟系列文章(二): 字符串(String)
我们知道Redis常用的数据类型有五种:String(字符串)、Hash(哈希)、List(列表)、Set(集合)、Zset(有序集合)。今天就过一遍String相关的命令。string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value,string 类型的值最大能存储 512MB。string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。使用String命令,跟K
2021-08-04 18:38:14
89
原创 Redis从入门到入坟系列文章(一): keys 命令
最近在学习Redis,之前也断断续续学过一些,这次准备系统的学习下,然后把学习的一些情况发到CSDN,也算是对自己学习的一个记录吧。今天来了解下Redis的keys常用的一些命令。首先,我们了解下语法,其实很简单,就是命令+key (COMMAND key_name)比如我们创建一个名为key1,值为“redis” 的key:127.0.0.1:6379> SET key1 redisOK然后,执行完后,会打印一个“OK”,表示执行成功。然后我们执行以下命令查看这个key是否
2021-08-02 23:34:27
936
1
原创 idea快捷键
对于我们刚开始使用idea的小伙伴,很多快捷键我们不够熟悉,所以我们总是百度或者博客的文章都是诸如史上最全快捷键的标题,其实很多都覆盖不全,今天到官网看了一波,然后整理下,分享给大家。由于大部分人都是用的windows系统,所以此文的快捷键都是针对windows系统的。1、IntelliJ IDEA 的顶级键盘快捷键 到处搜索 双倍的Shift 查找操作... Ctrl+Shift+A 显示意图操作 Alt+Enter 最近的文件 ...
2021-07-20 23:12:13
104
4
原创 MySql日期函数
大家好,我是犀牛真皮,废话不多刷,今天来水一波MySql的日期函数。最近在看mysql的基础知识,我们知道mysql的时间函数真是太多了,这里稍微总结下基本的日期函数有哪些,以及用法示例。1、获取日期或时间的函数:NOW()、SYSDATE() 返回指定日期 - SELECT NOW(),SYSDATE(); +---------------------+---------------------+| NOW() | SYSDATE() ...
2021-07-18 23:35:03
170
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人