初识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题旋转图像
题目: 题解: 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种处理方式: 逐像素处理(需要高等质量处理的光)逐顶点处理(需要中等质量处理的光)球谐函数(SH)处理(需要低等质量…...
Python画笔案例-040 绘制五角星顶圆
1、绘制五角星顶圆 通过 python 的turtle 库绘制五角星顶圆,如下图: 2、实现代码 绘制五角星顶圆,以下为实现代码: """五角星顶圆.py """ import turtledef draw_circle(d):turtle.left(90)for _ …...
【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例
伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教…...
期货量化-群体优化算法:混合蛙跳算法(SFL)
1. 概述 混合蛙跳算法(Shuffled Frog Leaping Algorithm, SFL)由 M. Eusuff 等人在2003年提出。这一算法结合了模因算法与粒子群优化算法的原理,灵感来源于一群青蛙在觅食过程中的行为模式。 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打开命令面板(Command Palette)Win10Shift Delete剪切当前光标所在的代码行Win10 2. 文件 2.1 在文件列表中定位当前文件 操作路径:右键单击文件名 ⇒ 在右键菜单中点击 【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函数用法
看一个例子解释用法: TcpServer类的构造函数中定义: acceptor_->setNewConnectionCallback(std::bind(&TcpServer::newConnection, this,std::placeholders::_1, std::placeholders::_2));// 有一个新的客户端的连接,acceptor会执行这…...
Caffenie配合Redis做两级缓存
一、什么是两级缓存 在项目中。一级缓存用Caffeine,二级缓存用Redis,查询数据时首先查本地的Caffeine缓存,没有命中再通过网络去访问Redis缓存,还是没有命中再查数据库。具体流程如下 二、简单的二级缓存实现-v1 目录结构 2…...
MATLAB实现PID参数自动整定
目录 1、项目说明 2、文件说明 1、项目说明 本项目旨在通过 MATLAB 语言实现 PID 参数的自动整定,并设计了一个直观易用的 GUI 界面。该系统特别适用于实验室环境下的 PID 参数自整定任务。整定的核心原则在于优化系统性能,使系统的衰减比尽可能接近理…...
UE5学习笔记21-武器的射击功能
一、创建C类 创建武器子弹的类,创建生产武器子弹的类,创建弹壳的类,生产武器子弹的类的父类是武器的类 创建后如图,ProjectileMyWeapon类(产生子弹的类)继承自weapon类,Projectile(子弹的类),Casing(弹壳声…...
Mamba模型学习笔记
笔记来源:bilibili Transformer 的死穴 Transformer 结构的核心是自注意力机制层,无论是 encoder 还是 decoder,序列数据都先经过位置编码后喂给这个模块。 但是自注意力机制的计算范围仅限于窗口内,而无法直接处理窗口外的元素…...
android kotlin 基础复习 继承 inherit
1、新建文件kt 2、代码: /**用户基类**/ open class Person1(name:String){/**次级构造函数**/constructor(name:String,age:Int):this(name){//初始化println("-------基类次级构造函数---------")println("name:${name},age:${age}")} }/**子…...
读软件设计的要素06概念完整性
1. 概念完整性 1.1. 当概念组合成一个软件时,它们可以同步以便协调行为 1.1.1. 同步可能会消除一个概念的某些行为,但决不会添加与该概念的规范不一致的新行为 1.1.2. 在使用概念设计软件时,即使你没有精确定义同步,至少要说服自…...
Java 每日一刊(第2期):搭建开发环境
文章目录 JVM、JRE、JDKJVM(Java Virtual Machine,Java 虚拟机)JRE(Java Runtime Environment,Java 运行时环境)JDK(Java Development Kit,Java 开发工具包)JVM、JRE、JD…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
