redis笔记2(key\value的设计)

1-redis的key-value设计
选择value
(1)是否需要排序,需要,用sortset
(2)缓存的值是单个还是多个
(3)单个:简单String,对象值的用Hash
(4)多个:不能重复用set,会重复的用list
简易方式
(1)要排序的用sortset
(2)剩下的用String
所有的value都转换成json字符串,然后缓存到redis中,避免泛行操作麻烦
2key设计
唯一性、可读性(命名规范)employe_info:id1、时效性
简易版:直接使用表的主键
3-安全性
redis.conf文件修改密码
4-redis事务
单个redis命令是原子性的,但没在事务上增加任何维持原子性的机制,所以redis的事务执行不是原子性的
redis事务类似“打包的批量执行脚本”,中间失败,前面的不会回滚,后面的也不会停止
5-redis持久化机制
redis会把数据从内存备份到硬盘,重新启动后会提前把数据从硬盘加载到内存
(1)快照(RDB)
手动:save阻塞当前redis服务器,不建议;用bgsave
优点:全量备份,缺点:没办法秒级、兼容问题
(2)文件追加(AOF)
命令记录
优点:安全性高,损失少,误操作flushall命名,可用AOF恢复
AOF日志是增量日志,不会断电损害,太大时,redis可重写AOF
缺点:文件体积大,稍慢
(3)混合持久RDB-AOF
6-Redis内存淘汰机制
(1)常见淘汰机制
随机淘汰,TTL机制(先淘汰要过期的),LRU:淘汰最近最少使用的(常用);LFU:淘汰一定时间使用次数最少的。(常用)
Redis淘汰策略:直接提示内存不足、处理设置了过期时间的key、处理所有的key
7-过期key的处理
(1)惰性删除
访问到发现过期再删除,cpu友好,但浪费内存
(2)定时删除
设置key时间时,加个定时器,时间到立即删除,不占内存,对cpu不友好
(3)定期删除(常用)
设置一段时间,统一删除一批过期的。
8-jedis:java连接redis的工具
官网地址:https://github.com/redis/jedis
9-springboot使用的java连接redis的lettuce
spring-boot-starter-data-redis

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/19570.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 多态与接口设计:深入理解Java的多态特性,并探讨在实际编程中如何设计和使用接口

深入理解Java的多态特性 多态的基本概念 在Java中,多态是面向对象的三大特性(封装、继承、多态)之一。它指的是,一个对象可以有多种形态。具体来说,多态让我们在设计代码时可以使用父类型占位符的方式来引用子类型的对象,而具体执行哪个子类的方法,将在运行时动…

方差和标准差的区别

标准差和方差都是用来衡量随机变量的离散程度的统计量,它们之间有以下区别: 方差(Variance): 方差是衡量随机变量离其均值的离散程度的度量。它是各个数据与其平均值之差的平方和的平均值。方差的公式为:…

手写节流和防抖

一、什么是防抖 定义: 用于限制某个函数在短时间内被频繁调用的情况 特点: 延迟执行:防抖会延迟执行目标函数,直到一定的空闲时间过去后才执行,如果在这段时间内再次触发,则会重新计时。 合并触发&#…

WHAT - 常见的前端工具库

前端开发有许多工具库,可以帮助开发者提高效率、简化代码和增强功能。以下是一些常见的前端工具库: 一、常见工具库 函数库 1. Lodash(推荐) Lodash 是一个 JavaScript 实用程序库,提供了一系列方便的函数&#xf…

鹤城杯 2021 流量分析

看分组也知道考http流量 是布尔盲注 过滤器筛选http流量 将流量包过滤分离 http tshark -r timu.pcapng -Y "http" -T json > 1.json这个时候取 http.request.uri 进一步分离 http.request.uri字段是我们需要的数据 tshark -r timu.pcapng -Y "http&quo…

【全开源】Java情侣飞行棋系统微信小程序+H5+APP源码+微信公众号

​让爱情与游戏并行 一、引言:飞行棋与情侣时光的交融 在快节奏的现代生活中,情侣们常常寻找一种既能增进感情又能共同娱乐的方式。飞行棋,这款经典的家庭游戏,因其简单易上手、策略性强而深受大众喜爱。而现在,我们…

Vue2中的计算属性(computed)和监听属性(watch)

1、说明 在Vue中我们经常会使用到多个参数计算出来的结果,在这种情况下我们可以定义参数和方法,将处理结果赋值给自定义参数,这种方式较为复杂,由此vue提供了计算属性方法。面对响应式页面,我们为了做到实时响应页面参…

[个人笔记] 记录docker-compose的部署过程

容器技术 第二章 记录docker-compose的部署过程 容器技术记录docker-compose的部署过程(可选)新建docker用户(可选)迁移docker-ce目录docker-compose官方插件形式安装官方二进制形式独立安装(可选) 使用docker-compose二进制包的 bash_completion 命令补齐 参考来源 记录docker…

Android8.1高通平台修改默认输入法

需求 安卓8.1 SDK原生的输入法只能打英文, 需要替换成中文输入法. 以高通平台为例, 其它平台也适用. 查看设备当前默认输入法 adb shell settings list secure | grep input 可以看到当前默认是LatinIME这个安卓原生输入法. default_input_methodcom.android.inputmethod.l…

使用compile_commands.json配置includePath环境,解决vscode中引入头文件处有波浪线的问题

通过编译时生成的 compile_commands.json 文件自动完成对 vscode 中头文件路径的配置,实现 vscode 中的代码的自动跳转。完成头文件路径配置后,可以避免代码头部导入头文件部分出现波浪线,警告说无法正确找到头文件。 步骤 需要在 vscode 中…

木馒头头戴式蓝牙耳机

这里写目录标题 木馒头二代头戴式蓝牙耳机清除连接记忆 木馒头二代头戴式蓝牙耳机清除连接记忆 在配对模式下,同时按住播放和暂停按钮4秒,LED闪烁紫色3次,即为清除成功。

电子烟开发【恒压、恒有效算法】

恒压算法 pwm是通过软件模拟的 pwm满值运行是250全占空比 #define D_TARGET_AVERAGE_VOLTAGE 3500 //R_ADC1_Vout :发热丝两端AD值 //R_ADC_FVR :电池电压AD值 //FVR_VOLTAGE :电池AD参考电压 满电值AD //R_Smk1Duty :最后…

Java 面试题:String、StringBuffer、StringBuilder 有什么区别?

几乎所有的应用开发都离不开操作字符串,理解字符串的设计和实现以及相关工具如拼接类的使用,对写出高质量代码是非常有帮助的。关于这个问题,我前面的回答是一个通常的概要性回答,至少你要知道 String 是 Immutable 的&#xff0c…

深入分析 Android Service (一)

文章目录 深入分析 Android Service (一)1. Android Service 设计说明1.1. Service 的类型1.2. Service 的生命周期1.3. 创建和启动 Service1.4. 绑定 Service1.5. ServiceConnection1.6. 前台 Service1.7. IntentService示例:创建和使用 IntentService 2. Service …

CentOS7部署Yearning并配置MySQL数据库远程访问详细流程——“cpolar内网穿透”

文章目录 前言1. Linux 部署Yearning2. 本地访问Yearning3. Linux 安装cpolar4. 配置Yearning公网访问地址5. 公网远程访问Yearning管理界面6. 固定Yearning公网地址 前言 本文主要介绍在 Linux 系统简单部署 Yearning 并结合 cpolar 内网穿透工具实现远程访问,破除…

Git基本使用教程(学习记录)

参考文章链接: Git教程(超详细,一文秒懂) RUNOOB Git教程 Git学习记录 1Git概述 1.1版本控制软件功能 版本管理:更新或回退到历史上任何版本,数据备份共享代码:团队间共享代码,…

立哥开源技术-基于Python的TTS分析脚本

import pyttsx3 # 创建一个引擎实例 engine pyttsx3.init() # 获取所有可用的语音列表 voices engine.getProperty(voices) # 打印出所有可用的语音名称和属性 for voice in voices: print("Voice:") print(" - 名称: %s" % voice.name) …

【vscode篇】1-VScode设置语言为中文,2-解决中文注释乱码问题。

设置语言为中文 在前端开发中,Visual Studio Code(简称vscode)是一个非常好用的工具,但第一次打开vscode会发现界面为英文,这对很多开发者来说会很不友好(比如我),把界面设置成中文只需要安装一个插件即可&…

从零入门激光SLAM(二十二)——Fast-lio2代码详解(三) 迭代误差更新

Fast-lio2原理解析见链接从零入门激光SLAM(二十一)——看不懂FAST-LIO?进来_fastlio 雷达 更改频率-CSDN博客 注释版代码完整版见GitHub - huashu996/Fast-lio2-Supernote: Fast-lio2 code with note 本代码解析以算法流程的逻辑解析代码&…

C#面:如果不用VisualStudio,用哪个命令行编译C#程序

可以使用命令提示符或者终端来执行编译命令 csc.exe 。 步骤: 打开命令提示符或终端。使用 cd 切换到 C# 程序所在的目录。使用以下命令来编译C#程序: 其中,是你的C#源代码文件的名称(包括扩展名.cs)。如果编译成功&…