当前位置: 首页 > news >正文

初识redis(String,Hash,List,Set,SortedSet)

认识NoSql

sql关系型数据库 nosql非关系型数据库

nosql具有非结构化,Key/Value,Document,Draph

无关联的,非sql,BASE(原子性,持久性,一致性,隔离性)

认识redis

特征:

键值(key-value)型,value支持多种不同数据结构,功能丰富

单线程,每个命令具备原子性

低延迟,速度快(基于内存、I0多路复用、良好的编码)

支持数据持久化

支持主从集群、分片集群

支持多语言客户端

Redis数据结构介绍

Redis是一个key-value的数据库,key一般是String类型,不过value的类型多种多样

String类型

KEYS:查看符合模板的所有key,不建议在生产环境设备上使用

DEL:删除一个指定的key

EXISTS:判断key是否存在

EXPIRE:给一个key设置有效期,有效期到期时该key会被自动删除

TTL:查看一个KEY的剩余有效期

通过help[command]可以查看一个命令的具体用法

Key的结构

String类型三种格式:

1.字符串

2.int

3.float

Redis的key的格式:

【项目名】:【业务名】:【类型】:【id】

Hash类型

Hash类型,也叫散列,其value是一个无序字典,类似于Java中的HashMap结构。

String结构是将对象序列化为JSON字符串后存储,当需要修改对象某个字段时很不方便

List类型

Redistribution中的List类型与Java中的Linked List类似,可以看作是一个双向链表结构,既可以支持正向检索和也可以支持反向检索。

特征也与Linked List类似:

1.有序

2.元素可以重复

3.插入和删除块

4.查询速度一般

Set类型

Redis的set结构与Java中的Hash Set类型,可以看做是一个value为null的HashMap。因为也是一个hash表,因此具备与Hash Set类似的特性:

1.无序

2.元素不可重复

3.查找块

4.支持交集,并集,差集等功能

SortedSet类型

Redis的Sortedset是一个可排序的set集合,与lava中的Treeset有些类似,但底层数据结构却差别很大。Sortedset中的每一个元素都带有一个score属性,可以基于score属性对元素排序,底层的实现是一个跳表(SkipList)加 hash表。Sortedset具备下列特性:

可排序

元素不重复

查询速度快

因为Sortedset的可排序特性,经常被用来实现排行榜这样的功能。

相关文章:

初识redis(String,Hash,List,Set,SortedSet)

认识NoSql sql关系型数据库 nosql非关系型数据库 nosql具有非结构化,Key/Value,Document,Draph 无关联的,非sql,BASE(原子性,持久性,一致性,隔离性) 认识r…...

Ton与ETH的一些独特的区别

文章目录 前言一、智能合约需要收取租金。二、从数据到大数据的转变三、智能合约不能运行其他合约的getter方法四、合约不是无法改变的五、Ton取消了无限制的数据结构六、钱包和地址具有独立性 前言 TON区块链是一个现代化的区块链,它为智能合约开发带来了一些全新…...

C++ | Leetcode C++题解之第396题旋转图像

题目&#xff1a; 题解&#xff1a; class Solution { public:int maxRotateFunction(vector<int>& nums) {int f 0, n nums.size();int numSum accumulate(nums.begin(), nums.end(), 0);for (int i 0; i < n; i) {f i * nums[i];}int res f;for (int i …...

前向渲染路径

1、前向渲染路径处理光照的方式 前向渲染路径中会将光源分为以下3种处理方式&#xff1a; 逐像素处理&#xff08;需要高等质量处理的光&#xff09;逐顶点处理&#xff08;需要中等质量处理的光&#xff09;球谐函数&#xff08;SH&#xff09;处理&#xff08;需要低等质量…...

Python画笔案例-040 绘制五角星顶圆

1、绘制五角星顶圆 通过 python 的turtle 库绘制五角星顶圆&#xff0c;如下图&#xff1a; 2、实现代码 绘制五角星顶圆&#xff0c;以下为实现代码&#xff1a; """五角星顶圆.py """ import turtledef draw_circle(d):turtle.left(90)for _ …...

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善&#xff0c;其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性&#xff0c; 将与教育相关的数据要素在区块链上进行存证确权&#xff0c;在确保数据可信的前提下&#xff0c;促进教育的公平、透明、开放&#xff0c;为教育教…...

期货量化-群体优化算法:混合蛙跳算法(SFL)

1. 概述 混合蛙跳算法&#xff08;Shuffled Frog Leaping Algorithm, SFL&#xff09;由 M. Eusuff 等人在2003年提出。这一算法结合了模因算法与粒子群优化算法的原理&#xff0c;灵感来源于一群青蛙在觅食过程中的行为模式。 SFL 最初作为一种求解组合优化问题的元启发式方法…...

tensorflow-线性回归python入门

目录 读入库 构造数据 建立训练和测试数据 创建第一层到最后一层的神经网络 开始测试 sin函数回归 读入库 import tensorflow as tf import numpy as np import matplotlib.pyplot as plt import time 构造数据 X np.array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, …...

VSCode学习笔记

1. 快捷键 KeyDescriptionPlatformF1打开命令面板&#xff08;Command Palette&#xff09;Win10Shift Delete剪切当前光标所在的代码行Win10 2. 文件 2.1 在文件列表中定位当前文件 操作路径&#xff1a;右键单击文件名 ⇒ 在右键菜单中点击 【Reveal in Explorer View】...

【Canvas与艺术】菊花孔雀螺旋

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>菊花孔雀螺旋</title><style type"text/css">…...

circuitjs 普通开关和按钮开关

circuitjs 各类开关中最基本的有 (普通)开关 和 按钮开关(瞬时开关). 添加 在菜单 “绘制–无源元件–添加开关” 下可以添加一个普通开关.在菜单 “绘制–无源元件–添加按钮开关” 下可以添加一个按钮开关. 两者在缺省外观上没有什么区别, 如上, 左边是普通开关, 右边是按钮…...

客户端绑定本地端口与服务器建立连接的详细实现

客户端绑定本地端口与服务器建立连接的详细实现 一、网络编程基础1.1 TCP/IP协议1.2 套接字(Socket)1.3 客户端与服务器模型二、客户端程序的设计2.1 需求分析2.2 流程设计三、具体代码实现3.1 伪代码3.2 C代码实现四、代码详解4.1 初始化套接字库4.2 创建套接字4.3 绑定本地…...

C++ std::bind函数用法

看一个例子解释用法&#xff1a; TcpServer类的构造函数中定义&#xff1a; acceptor_->setNewConnectionCallback(std::bind(&TcpServer::newConnection, this,std::placeholders::_1, std::placeholders::_2));// 有一个新的客户端的连接&#xff0c;acceptor会执行这…...

Caffenie配合Redis做两级缓存

一、什么是两级缓存 在项目中。一级缓存用Caffeine&#xff0c;二级缓存用Redis&#xff0c;查询数据时首先查本地的Caffeine缓存&#xff0c;没有命中再通过网络去访问Redis缓存&#xff0c;还是没有命中再查数据库。具体流程如下 二、简单的二级缓存实现-v1 目录结构 2…...

MATLAB实现PID参数自动整定

目录 1、项目说明 2、文件说明 1、项目说明 本项目旨在通过 MATLAB 语言实现 PID 参数的自动整定&#xff0c;并设计了一个直观易用的 GUI 界面。该系统特别适用于实验室环境下的 PID 参数自整定任务。整定的核心原则在于优化系统性能&#xff0c;使系统的衰减比尽可能接近理…...

UE5学习笔记21-武器的射击功能

一、创建C类 创建武器子弹的类&#xff0c;创建生产武器子弹的类&#xff0c;创建弹壳的类&#xff0c;生产武器子弹的类的父类是武器的类 创建后如图&#xff0c;ProjectileMyWeapon类(产生子弹的类)继承自weapon类&#xff0c;Projectile(子弹的类)&#xff0c;Casing(弹壳声…...

Mamba模型学习笔记

笔记来源&#xff1a;bilibili Transformer 的死穴 Transformer 结构的核心是自注意力机制层&#xff0c;无论是 encoder 还是 decoder&#xff0c;序列数据都先经过位置编码后喂给这个模块。 但是自注意力机制的计算范围仅限于窗口内&#xff0c;而无法直接处理窗口外的元素…...

android kotlin 基础复习 继承 inherit

1、新建文件kt 2、代码&#xff1a; /**用户基类**/ open class Person1(name:String){/**次级构造函数**/constructor(name:String,age:Int):this(name){//初始化println("-------基类次级构造函数---------")println("name:${name},age:${age}")} }/**子…...

读软件设计的要素06概念完整性

1. 概念完整性 1.1. 当概念组合成一个软件时&#xff0c;它们可以同步以便协调行为 1.1.1. 同步可能会消除一个概念的某些行为&#xff0c;但决不会添加与该概念的规范不一致的新行为 1.1.2. 在使用概念设计软件时&#xff0c;即使你没有精确定义同步&#xff0c;至少要说服自…...

Java 每日一刊(第2期):搭建开发环境

文章目录 JVM、JRE、JDKJVM&#xff08;Java Virtual Machine&#xff0c;Java 虚拟机&#xff09;JRE&#xff08;Java Runtime Environment&#xff0c;Java 运行时环境&#xff09;JDK&#xff08;Java Development Kit&#xff0c;Java 开发工具包&#xff09;JVM、JRE、JD…...

rk3576 点亮 LCD(mipi)

rk3576 适配 mipi 屏 瑞芯微 RK3576 是一款面向中高端 AIoT 市场的 SoC,其 MIPI DSI (Display Serial Interface) 接口在性能和灵活性上相比前代(如 RK3399/RK3568)有显著提升,特别是在物理层协议的支持上更加现代化。相比RK3399 RK3568的mipi 接口少了 8lane,但是RK3576…...

VoxCPM-1.5-WEBUI问题解决:部署常见错误与一键启动脚本详解

VoxCPM-1.5-WEBUI问题解决&#xff1a;部署常见错误与一键启动脚本详解 1. 快速入门指南 1.1 镜像部署准备 在开始使用VoxCPM-1.5-WEBUI之前&#xff0c;您需要确保具备以下条件&#xff1a; 支持CUDA的NVIDIA显卡&#xff08;建议RTX 3060及以上&#xff09;至少16GB系统内…...

不止于超市:用QGIS缓冲区+叠置分析,为你的奶茶店、自习室找个好位置

从奶茶店到自习室&#xff1a;QGIS空间分析赋能小微商业选址决策 走在街头&#xff0c;你是否好奇为什么某些奶茶店总是门庭若市&#xff0c;而几步之隔的同类店铺却冷冷清清&#xff1f;商业选址从来不是简单的"地段好"三个字能概括的。对于资金有限的小微创业者来说…...

第3期 工程车辆目标检测数据集

第3期 目标检测——工程车辆数据集 一、研究背景与意义 工程车辆是建筑工程机械的核心组成部分,涵盖汽车吊、随车吊、挖掘机、推土机、压路机、工程抢险车等品类,承担着工程建设中的运载、挖掘、吊运、平整、抢修等关键工作,大幅提升了建筑工程施工效率,显著降低人力投入…...

好写作AI:利用多轮人机交互迭代实现深度降AIGC的方法论

改一遍不够&#xff1f;那就改三遍——但每遍都要改对地方很多同学用AI辅助写论文&#xff0c;流程是这样的&#xff1a;用AI生成一段文字 → 觉得“AI味儿”有点重 → 手动改几个词 → 提交。然后被检测系统打回来。于是困惑&#xff1a;我都改了&#xff0c;怎么还是不行&…...

实战演练:在快马平台用codex生成一个完整的react用户管理组件

今天想和大家分享一个实战案例&#xff1a;如何在InsCode(快马)平台用Codex快速生成一个React用户管理组件。整个过程比我预想的顺畅很多&#xff0c;特别适合需要快速原型开发的场景。 项目需求拆解 用户管理是后台系统的标配功能&#xff0c;这次要实现三个核心模块&#xff…...

快速部署MinerU镜像:开箱即用的PDF提取方案,告别繁琐配置

快速部署MinerU镜像&#xff1a;开箱即用的PDF提取方案&#xff0c;告别繁琐配置 1. 引言&#xff1a;为什么你需要一个“开箱即用”的PDF提取工具&#xff1f; 如果你曾经尝试过从一份复杂的PDF文档里提取文字、表格和公式&#xff0c;你大概率经历过这样的痛苦&#xff1a;…...

Ostrakon-VL-8B功能体验:图文对话模型在零售场景的真实表现

Ostrakon-VL-8B功能体验&#xff1a;图文对话模型在零售场景的真实表现 1. 零售场景下的AI助手需求 在零售行业&#xff0c;每天都有大量需要人工处理的视觉任务&#xff1a;商品识别、货架检查、库存盘点、价格标签核对等。传统方法要么依赖人工检查效率低下&#xff0c;要么…...

5个场景带你体验KISS Translator:让网页双语阅读不再是难题

5个场景带你体验KISS Translator&#xff1a;让网页双语阅读不再是难题 【免费下载链接】kiss-translator A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本) 项目地址: https://gitcod…...

RMBG-2.0多场景落地指南:短视频素材制作+电商主图抠图完整流程

RMBG-2.0多场景落地指南&#xff1a;短视频素材制作电商主图抠图完整流程 想快速给商品换个背景&#xff0c;又怕抠图不干净&#xff1f;想给短视频做个炫酷的片头&#xff0c;却被复杂的背景处理劝退&#xff1f;今天&#xff0c;咱们就来聊聊一个能让你彻底告别繁琐抠图的神…...