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

【golang长途旅行第35站】Redis

Redis

Redis基本介绍

Redis​(Remote ​Dictionary ​Server)是一个开源的、基于内存的键值对存储系统。它通常被归类为一种 ​NoSQL​ 数据库,也被称为“数据结构服务器”,因为它支持的不仅仅是简单的字符串键值对,而是丰富的数据结构(String,Set,List,Hash等等)

它的核心特点是极致的速度

数据主要存储在内存(RAM)中,这使得读写速度非常快,通常能达到微秒级别的响应。这是 Redis 高性能的主要原因

它也支持持久化,可以将内存中的数据异步保存到磁盘上,以防止服务器重启或宕机导致数据丢失。

Redis的五大数据类型:
String(字符串)、Hash(哈希)、List(列表)、Set(集合)、zset(有序集合)

官网:

https://redis.io/
https://redis.cn/

使用教程

https://redisdoc.com.cn/
https://www.runoob.com/redis/redis-tutorial.html

快速入门

​​ Redis安装好后,默认有16个数据库,初始默认使用0号库,编号是0…15。

  1. 添加key-val:set

  2. 查看当前redis的所有key:keys *

  3. 获取key对应的值:get key

  4. 切换redis数据库:select index

  5. 查看当前数据库的key-val数量:dbsize

  6. 清空当前数据库的key-val:flushdb

  7. 清空所有数据库的key-val:flushall

Redis对String的操作

基本介绍

Redis 的 String 类型是简单的 ​键值对​ 结构

  • 键 (Key)​​:永远是一个字符串。
  • 值 (Value)​​:也可以是字符串(包括任何格式的数据,如文本、数字、序列化的对象甚至图片二进制数据)。值得内容最大512MB
CURD------Create(创建)、Update(更新)、Read(读取)、Delete(删除)

set key value

get key

del key1 key2…

同时删除一个或者多个键值对
返回被删除的键的总数(不包括不存在的键)

setex key second value

这个键值对的有效时间为second秒,过后不存在

mset key1 value1 key2 value2…
mget key1 key2…

同时设置/获取一个或者多个键值对

Redis对Hash的操作

基本介绍

Redis Hash 是一个 ​string 类型的 field(字段)和 value(值)的映射表。它非常适合用来存储对象。
类似于golang中的map:
var myMap map[string]string
而Hash就类似于这个myMap

CURD

hset myMap name xxx
hset myMap age 11
hget myMap name
hgetall myMap 一次性去除所有的键值对,默认是按字段插入顺序输出
hmset key1 value1 key2 value2 key3 value3…
hmget key1 key2…
hlen myMap 查看这个Hash里有多少个键值对
hexists myMap key 查看这个Hash里有没有这个键值对 有/无(1/0)

Redis对List的操作

基本介绍

Redis 的 List 是一个简单的 ​字符串列表。你可以把它想象成一个双向链表,这意味着你可以在列表的头部(左边)​​ 或尾部(右边)​​ 高效地添加和删除元素。

它的核心特点是 ​按插入顺序排序,并且元素可以重复。

CURD

List 的命令通常以 L(Left/左)或 R(Right/右)开头。

LPUSH key element1 element2…

​将一个或多个值插入到列表头部

RPUSH key element1 element2…

​将一个或多个值插入到列表尾部

LPOP key

移除并返回列表的第一个元素

RPOP key

移除并返回列表的最后一个元素

LRANGE key start stop

获取列表指定范围内的元素
0是第一个元素的下标
1是第二个元素的下标
-1是倒数第一个元素的下标
-2是倒数第二个元素的下标

del key

删除这个List

llen key

返回这个List的长度,如果不存在,则返回0,视作空列表

注意事项

如果所有的值都被删除了
那这个List也就没了

Redis对Set的操作

基本介绍

Redis 的 Set 是 ​String 类型的无序集合。它最大的特点是:

  1. ​无序性​:集合中的元素没有顺序。
  2. 唯一性​:集合中的元素都是唯一的,​不允许重复。
CURD

SADD key member1 member2

向Set中设置元素
返回成功设置的元素的个数

SMEMBERS key

从Set中取出所有元素

sismember key member1

判断key这个Set中有没有member1这个元素 有/无(1/0)

srem key member1

删除Set中的member1元素,删除成功/失败(1/0)

http://www.xdnf.cn/news/1420237.html

相关文章:

  • docker中的命令(六)
  • 针对redis中的热数据该怎么处理
  • ✝常用表格✝
  • Simulink库文件-一种低通滤波模块搭建方法
  • 【stm32】定时器(超详细)
  • 重构导航之核:高德地图的深度学习架构解析 导论:从数字化世界到可计算世界
  • 手搓3D轮播图组件以及倒影效果
  • Shell 编程 —— 正则表达式与文本处理实战
  • 如何用 Kotlin 在 Android 手机开发一个文字游戏,并加入付费机制?
  • 基于运营商投诉工单的分析系统设计与实现
  • Kotlin
  • 秋招笔记-8.29
  • 哈希表-1.两数之和-力扣(LeetCode)
  • 电路学习(四)半导体
  • LeetCode 165. 比较版本号 - 优雅Java解决方案
  • LangChain开源LLM集成:从本地部署到自定义生成的低成本落地方案
  • 人工智能——课程考核
  • 移动开发如何给不同手机屏幕做适配
  • Shell脚本编程:函数、数组与正则表达式详解
  • [SWPUCTF 2018]SimplePHP
  • 如何用AI视频增强清晰度软件解决画质模糊问题
  • 【音视频】WebRTC QoS 概述
  • 子串:滑动窗口最大值
  • Flutter 完全组件化的项目结构设计实践
  • 王丹妮《营救飞虎》首映礼获赞 三家姐展现坚毅与温柔并存
  • FunASR开源部署中文实时语音听写服务(CPU)
  • uniapp 优博讯k329蓝牙打印机,设置打印机,一键打印
  • 通义灵码+支付 MCP:30 分钟实现创作打赏智能体
  • Agent落地元年:谁在成为最坚实的土壤?
  • 私有化存储架构演进:从传统NAS到一体化数据平台