当前位置: 首页 > 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.dtcms.com/a/360720.html

相关文章:

  • Objective-C 的坚毅与传承:在Swift时代下的不可替代性优雅草卓伊凡
  • 云市场周报 (2025.09.01):解读腾讯云向量数据库、阿里云西安节点与平台工程
  • 从零开始的云计算生活——第五十五天,黑云压城,kubernetes模块之网络组件和CoreDNS组件
  • 数组(3)
  • Proteus8 仿真教学全指南:从入门到实战的电子开发利器
  • GitHub 热榜项目 - 日榜(2025-09-01)
  • 基于YOLOv11的脑卒中目标检测及其完整数据集——推动智能医疗发展的新机遇!
  • MySQL下载及安装(Windows 11)
  • 【LeetCode】3524. 求出数组的 X 值 I (动态规划)
  • 【LeetCode 155】—最小栈 - 详解与实现
  • 阿里Qoder怎么样?实测对比TRAE SOLO 和 CodeBuddy IDE
  • 保健品跨境电商:如何筑牢产品质量与安全防线?
  • 数据库事务隔离级别与 MVCC 机制详解
  • 机器学习(四)KNN算法-分类
  • 哈希表-1.两数之和-力扣(LeetCode)
  • git将当前分支推送到远端指定分支
  • YOLO 目标检测:YOLOv3网络结构、特征输出、FPN、多尺度预测
  • Redis--Lua脚本以及在SpringBoot中的使用
  • 三、Gitee平台使用指南
  • 第 94 场周赛:叶子相似的树、模拟行走机器人、爱吃香蕉的珂珂、最长的斐波那契子序列的长度
  • Eclipse Compiler for Java (ECJ):安装指南与高效快捷键全解析
  • 构建无广告私人图书馆Reader与cpolar让电子书库随身携带
  • 鸿蒙总改变字体大小设置
  • 【Linux篇章】再续传输层协议UDP :从低可靠到极速传输的协议重生之路,揭秘无连接通信的二次进化密码!
  • 深度学习框架与工具使用心得:从入门到实战优化
  • Unity核心概念③:Inspector窗口可编辑变量
  • 电科金仓 KFS 场景化实践路径解析:从行业场景落地看技术价值转化
  • JP4-1-MyLesson项目简介
  • 掌握正则表达式与文本处理:提升 Shell 编程效率的关键技巧
  • Go 语言 sync 包解析