redis初步认识(一)

文章目录

  • 概述
    • 安装编译
  • string数据结构
    • 基础命令
    • 应用
      • 对象存储
      • 累加器
  • list结构
    • 基础命令
    • 应用
      • 栈(先进后出FILO)
      • 队列
  • HASH
    • 基础命令
    • 存储结构
    • 应用
      • 存储对象
  • 小结

概述

redis 是一个远程字典服务;当然,redis是内存数据库,kv数据库,最基础的数据结构有(string, list, hash, set, zset)几种。

安装编译

在ubuntu云服务器上安装,有以下步骤:
git clone https://gitee.com/mirrors/redis.git -b 6.2
cd redis/
make
make test
sudo make install

string数据结构

字符数组,redis字符串是二进制安全字符串,可以存储图片等二进制数据;
内部实际存储根据string的数据特征可以采用int, embstr, raw存储。

基础命令

set key val
get key
执行原子加一的操作
incr key
incrby key increment
decr key
decrby key decrement

setnx key value
del key

应用

应用方面比较多,主要用于对象存储,累加器等。

对象存储

set role:100001  '{["name"]: "a", ["sex"]:"male", ["age"]:20}'
get role:100001
#这个格式比较固定,几乎都是如此存储的

累加器

#统计数量  累计加1
incr times
# 累计加到1000
incrby times 1000

list结构

对于list来说,它是一个首尾相连接的双向链表,链表首尾操作时间复杂度O(1);查找中间元素时间复杂度O(n);
列表中数据可能会被压缩:

  1. 元素长度小于48,不压缩;
  2. 元素压缩前后长度不超过8,不压缩;

基础命令

#左侧插入 左侧获取key
LPUSH key value
LPOP key#右侧插入 右侧获取key
RPUSH key value
RPOP keyLRANGE key start end
LREM key count value

应用

栈(先进后出FILO)

LPUSH + LPOP
# 或者
RPUSH + RPOP

队列

LPUSH + RPOP
#或者
RPUSH + LPOP

HASH

字典结构,通过hash函数(而不是通过比较key的方式)来确定节点的位置,hash这个数据结构不多介绍,可以参考我之前的文章。

基础命令

HGET key field
HSET key field valueHMSET key field1 value1 field2 value2
HMGET key field1 field2HINCRBY key field increment
HLEN keyHDEL key field

存储结构

当节点数量少的时候并且字符串长度小的时候,内部采用压缩列表存储,否则采用字典实现;

应用

存储对象

 hmset hash:10001 name a age 18 sex male# 与 string 比较
set hash:10001 '{["name"]:"a",["sex"]:"male",["age"]:18,["money"]:1000000}'# 假设现在修改 a的年龄为29岁
# hash:hset hash:10001 age 29# string: get role:10001# 将得到的字符串调用json.decode解密,取出字段,修改 age 值# 再调用json加密set role:10001 '{["name"]:"a",["sex"]:"male",["age"]:29}

小结

当然了,redis是一个内存数据库,存储在内存当中;如果遇到服务器宕机,这些数据就不存在了,所以有些数据需要配合mysql数据库一起使用。这篇写的是redis的基础部分,数据结构也写了几个,感觉还好,可以一起来学习学习。OK,翻篇。

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

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

相关文章

【Termius】详细说明MacOS中的SSH的客户端利器Termius

希望文章能给到你启发和灵感~ 如果觉得有帮助的话,点赞+关注+收藏支持一下博主哦~ 阅读指南 开篇说明一、基础环境说明1.1 硬件环境1.2 软件环境二、软件的安装2.1 Termius界面介绍2.1.1 Hosts 主机列表2.1.2 SFTP 文件传输2.1.3 Port ForWarding 端口转发2.1.4 Snippets 片…

为什么带货主播,他突然就不吃香了?

为什么带货主播他突然就不吃香了?工资骤降50%。 相比 2023 年初主播的平均薪资降了50%,那不管你是头部主播还是腰部主播,全部都降薪了。那尾部主播就更不用说了,有的主播他的时薪已经低到 20 块钱一个小时,还不如大学…

U-boot相关基础知识

U-boot和Bootloader之间的关系 U-Boot是Bootloader的一种实现,它专门用于嵌入式系统,特别是那些基于ARM、MIPS等处理器的系统。U-Boot提供了丰富的硬件支持和功能,使得开发者能够轻松地初始化硬件、加载操作系统内核,并进行一些基…

【漏洞复现】安美数字酒店宽带运营系统——命令执行漏洞(CNVD-2021-37784)

声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 安美数字酒店宽带运营系统 server_ping.php 存在远程命令执行漏洞&#…

一文带你了解什么是【点击劫持】

点击劫持,意思就是你点击网页的时候,有人劫持你,对没错,劫持你的信息,甚至劫持你的马内,劫持你的理想,劫持你的肉体,劫持你的灵魂。就是这么可怕。 目录 1 如何实现假网站 1.1 if…

“未来独角兽” | 安全狗入选福建省数字经济核心产业创新企业名单

近日,福建省数据管理局公布了入选2024年度全省数字经济核心产业创新企业名单。 作为国内云原生安全领导厂商,安全狗凭借自身在云安全领域的卓越表现和创新实力入选,获得“未来独角兽”称号。 据悉,此次对“未来独角兽”的评选条件…

【Linux】grep详解

grep 是一个非常强大的工具,可以用于快速搜索和过滤文本数据。 一.基本语法 grep [options] pattern [files]options:可选的命令行选项。 pattern:要搜索的文本模式,可以是普通文本或正则表达式。 files:要搜索的文件…

计算机视觉(CV)技术:优势、挑战与前景

摘要 计算机视觉作为人工智能的关键领域之一,正迅速改变我们的生活和工作方式。本文将探讨CV技术的主要优势、面临的挑战以及未来的发展方向。 关键词 计算机视觉, 人工智能, 数据处理, 自动化, 伦理问题 目录 引言计算机视觉技术的优势计算机视觉技术的挑战实…

内网穿透小工具

内网穿透小工具 前言 当在本地或者虚拟机,内网搭建了项目,数据库。可是在外网无法访问。下面的两款小工具可以暂时实现内网穿透能力。(不支持自定义域名,但是不限制隧道数量!且免费!免费!免费…

【杂记-浅谈NDP邻居发现协议】

NDP邻居发现协议 一、NDP协议概述二、NDP协议的作用三、NDP协议的工作原理四、NDP协议的报文类型 一、NDP协议概述 1、NDP,Neighbor Discovery Protocol,即邻居发现协议,是IPv6协议体系中的一个基础协议,它通过使用ICMPv6报文实现…

电商返利平台的用户行为分析

电商返利平台的用户行为分析 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在电商返利平台的运营中,理解和分析用户行为至关重要。通过技术手段对…

云主机相比物理机有哪些优势

随着信息技术的飞速发展,云计算技术逐渐成为现代企业的核心驱动力。其中,云主机作为云计算的重要组成部分,以其高性能、高可用性和灵活便捷的特性,成为企业IT架构的新选择。今天我们就来了解探讨云主机相比传统主机,有…

#### 广告投放 ####

以巨量引擎为例: 计费模式 eCPM(expected Cost Per Mile,估计千次展示收入) 概括: ecpm为千次展示的预估收益,是广告平台用来给广告排序的指标。 注意是展示而不是千次点击收益,展示了可能不…

星际编码:Swifter.Json,.NET宇宙中的数据处理新星

概述 在数字化的星辰大海中,数据是宇宙的通用语言。在.NET这一广袤的星系中,JSON作为信息交换的媒介,扮演着至关重要的角色。今天,我们要探索的是一颗新星——Swifter.Json,一个功能全面且性能卓越的JSON序列化和反序列…

文献解读-基因编辑-第十二期|《CRISPR-detector:快速、准确地检测、可视化和注释基因组编辑事件引起的全基因组范围突变》

关键词:基因组变异检测;全基因组测序;基因编辑; 文献简介 标题(英文):CRISPR-detector: fast and accurate detection, visualization, and annotation of genome-wide mutations induced by g…

Zynq7000系列FPGA中的DMA控制器——PL外设请求接口

图9-4中展示了PL外设请求接口主要由两部分组成:PL外设请求总线和DMAC确认总线。这两部分分别使用特定的前缀进行标识,具体如下: PL外设请求总线(PL Peripheral Request Bus): 前缀:DR功能&…

免费Logo在线生成:必试的6款工具

logo对企业来说非常重要。一个好的logo免费设计在线生成器往往会给企业带来无形的利润。因此,许多企业非常重视自己公司的logo。作为一名设计师,如果能找到一个好的logo免费设计在线生成器,势必会给实际的logo设计带来事半功倍的效果。本文精…

RNN循环卷积神经网络

1.定义 RNN (Recurrent Neural Network,RNN)循环卷积神经网络,用于处理序列数据。 序列数据:按照一定的顺序排列的数据,可以是时间顺序、空间顺序、逻辑顺序。 eg:电影、语言 2.特点 传统神经网络模型无法…

基于深度学习的物体跟踪

基于深度学习的物体跟踪 物体跟踪是计算机视觉中的一个重要任务,涉及在视频序列中持续跟踪指定物体。基于深度学习的方法在物体跟踪中取得了显著的进展,通过训练神经网络,可以高效且准确地完成物体的检测和跟踪。 深度学习在物体跟踪中的优…

gin数据解析,绑定和渲染

一. 数据解析和绑定 1.1 Json数据解析和绑定 html文件&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0&quo…