什么是BigKey? BigKey指的是redis中一些key value值很大,这些key在序列化与反序列化过程中花费的时间很大! 操作bigkey的通常比较耗时,也就意味着阻塞Redis可能性越大!占用的流量同时也会变得很大! 大白话就是bigkey实际指一个key对应的value很大,占用的空间很大! string长度大于10K,list长度大于10240认为是big bigkeys 如何查看Redis中的bigKey? 我们以String为例: 先存储几个String key进去,然后使
2024-10-221 介绍 Redis 是一个kv型数据库,我们所有的数据都是存放在内存中的,但是内存是有大小限制的,不可能无限制的增量。想要把不需要的数据清理掉,一种办法是直接删除,这个咱们前面章节有详细说过;另外一种就是设置过期时间,缓存过期后,由Redis系统自行删除。这边需要注意的是,缓存过期之后,并不是马上删除的,那Redis是怎么删除过期数据的呢?主要通过两个方式 惰性删除通过定时任务,定期选取部分数据删除 2 Redis缓存过期命令 我们通过以下指令给指定key的缓存设置过期时间,如果都没设置过期时
2024-10-22一、Redis概述 SortedSet类型 Redis的SortedSet是一个可排序的set集合,与Java中的TreeSet有些类似,但底层数据结构却差别很大。SortedSet中的每一个元素都带有一个score属性,可以基于score属性对元素排序,底层的实现是一个跳表(SkipList)加 hash表。 SortedSet具备下列特性: 可排序元素不重复查询速度快 因为SortedSet的可排序特性,经常被用来实现排行榜这样的功能。 1 ZADD:向有序集合添加成员 添加一个或多个元
2024-10-22使用squirrel拼接sql不生效 拼接sql的时候,一般使用同一个变量不断拼接连接。 但是,在使用github.com/Masterminds/squirrel包进行sql拼接时, 需要多加注意:在使用变量添加sql语句后,还需要重新再赋值给该变量,否则达不到想要的结果。 如下代码: import sq "github.com/Masterminds/squirrel" func FindProviderProduct(providerID int, keyWord string) (p
2024-10-22进入MySQL安装bin文件夹,打开cmd 1、停止服务(若已停止则忽略) net stop mysql 2、跳过MySQL验证(无密码登录) 其中my.ini文件地址根据自己情况修改 mysqld --defaults-file="C:ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --skip-grant-tables --shared-memory 3、以管理员方式启动新的cmd命令提示符窗口,并进入mysql安装的bin目
2024-10-221.前面补零 LPAD(str,len,padstr) 返回字符串 str, 其左边由字符串padstr 填补到len 字符长度。 假如str 的长度大于len, 则返回值被缩短至 len 字符。 select LPAD('1', 8, 0) 结果 select LPAD('12', 1, 0) 结果 2.后面补0 RPAD(str,len,padstr) 返回字符串 str, 其右边由字符串padstr 填补到len 字符长度。 假如str 的长度大于len, 则返回值被缩短至 len
2024-10-22在 PostgreSQL 中,ON CONFLICT 子句是用在 INSERT 语句中的一种机制,它可以帮助你处理当插入操作遇到违反唯一性约束(比如唯一索引或主键约束)时的情况。使用 ON CONFLICT 子句,你可以指定当违反唯一性约束时应该采取的操作,比如忽略这个插入,或者更新已经存在的行。 ON CONFLICT (sample_id_lims) DO UPDATE 是指当你在插入数据时,如果 sample_id_lims 字段的值导致了唯一性约束的冲突,那么不是放弃这次插入,而是更新已
2024-10-221.创建分区表 CREATE TABLE `api_log` ( `requestId` varchar(64) NOT NULL COMMENT '调用的唯一标示', `systemCode` varchar(64) NOT NULL COMMENT '业务系统编码', `tongID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tong_time` timestamp NOT NULL DEFAULT CURRENT
2024-10-22redis内存数据数据集大小升到一定大的时候,就会实行数据淘汰策略(回收策略)。 1,volatile-lru:从已设置过期时间的哈希表(server.db[i].expires)中随机挑选多个key,然后在选到的key中用lru算法淘汰最近最少使用的数据 2,allkey-lru:从所有key的哈希表(server.db[i].dict)中随机挑选多个key,然后再选到的key中利用lru算法淘汰最近最少使用的数据 3,volatile-ttl:从已设置过期时间的哈希表(server.db[i
2024-10-22说明:分区表,顾名思义,就是一张表根据规则,划分多个区,通过分区,实现一种“逻辑隔离”,这在Saas系统中是非常常见的。本文介绍如何在MySQL中分区。 创建分区 在MySQL中,多种分区模式,如下: Range:范围分区,根据数据库表某列数值划分,像日期、数值类型的主键值;List:列表分区,可选定一个集合,像group_name字段,有淘宝、天猫,按照不同的集团名分区;Hash:哈希分区;Key:键分区;Subpartitioning:复合分区; 这里介绍前面两种常见的分区,Range、Li
2024-10-22