redis学习笔记

简介: Redis是一款由C语言编写的内存中的键值对数据库,包含多种数据结构如字符串、散列、列表、集合、有序集合等。它支持复制、LUA脚本、LRU策略、事务和持久化。Redis官网提供详细文档,可用于分布式缓存、防止缓存击穿、分布式锁、消息队列等场景。安装Redis 7.0.15版,需下载、配置环境变量、修改配置文件以设置守护进程、关闭保护模式和密码。Redis基础命令包括键操作如DEL、EXISTS、EXPIRE等,数据类型包括字符串和哈希等,如HSET用于设置哈希表字段值,HGET用于获取字段值。

redis 笔记

redis 概述

redis

redis是本身采用C语言编写。是一个基于内存的K-V(键值对)构成的数据库。而且内置很多数据结构,如 字符串(strings)散列(hashes)列表(lists)集合(sets),带有范围查询的 有序集合(sorted sets)bitmapshyperloglogs地理空间(geospatial) 索引。 Redis 内置了 复制(replication)LUA脚本(Lua scripting)LRU驱动事件(LRU eviction)事务(transactions) 和不同级别的 磁盘持久化

redis官方文档地址: redis 命令手册

redis-github地址: https://github.com/redis/redis


redis可以做什么?

  • 分布式缓存,挡在MySQL前的带刀护卫

  • 缓存雪崩,穿透,击穿

  • 内存存储和数据持久化

  • 分布式锁

  • 消息队列

  • 排行榜+点赞


redis环境配置

本次使用的redis版本是7.0.15,是最近的发行版本。在windows10下配置,zip安装。

redis-server下载地址:

Release Redis 7.0.15 for Windows · redis-windows/redis-windows · GitHub

配置步骤:

  • 先下载上述链接的redis版本

  • 配置环境变量

到windows10下搜索栏搜索环境变量就会出现一个选项:编辑系统环境变量
然后找到高级-环境变量-系统变量
找到path这个环境变量选项,在已有的的基础上点击新增。
填入你redis的安装目录
后续两次保存,最后退出即可完成
  • 修改redis配置文件

redis安装目录下,有一个redis.conf的配置文件。里面记录了很多redis启动时的默认配置,现在需要修改它正常启动服务。

  1. 守护进程

将daemonize设置的值设置为yes

  1. 关闭保护模式

将protece-mo设置为no,如果不关闭这个选项。其他机器无法访问这台机器上的redis服务

  1. 设置密码

在配置文件找到requirepass 这个选项,原本是被注释起来的。现在取消注释,后面改成你想设置的密码。

redis 基础命令

key常用命令

键(Key)命令

Redis 是 key-value 型数据库,键(Key)命令是 Redis 中经常使用的命令。常用的键命令如下所示:

命令 描述
DEL 用于删除 key
DUMP 序列化给定 key ,并返回被序列化的值
EXISTS 检查给定 key 是否存在
EXPIRE 为给定 key 设置过期时间
EXPIREAT 用于为 key 设置过期时间,接受的时间参数是 UNIX 时间戳
PEXPIRE 设置 key 的过期时间,以毫秒计
PEXPIREAT 设置 key 过期时间的时间戳(unix timestamp),以毫秒计
KEYS 查找所有符合给定模式的 key
MOVE 将当前数据库的 key 移动到给定的数据库中
PERSIST 移除 key 的过期时间,key 将持久保持
PTTL 以毫秒为单位返回 key 的剩余的过期时间
TTL 以秒为单位,返回给定 key 的剩余生存时间(
RANDOMKEY 从当前数据库中随机返回一个 key
RENAME 修改 key 的名称
RENAMENX 仅当 newkey 不存在时,将 key 改名为 newkey
TYPE 返回 key 所储存的值的类型

redis数据类型

介绍redis中各种数据类型的用法和注意事项

redis字符串命令

set key

设置单个键值对

set k1 v1

get key

获取对应健最新的值

get k1

MSET key vlaue

该命令用于同时设置多个键值

mget k1 name

getanger

获取指定范围内的值

getrange name 0 2

setrange

用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始

语法

redis 127.0.0.1:6379> SETRANGE KEY_NAME OFFSET VALUE

示例:

setrange name 6 "redis"

INCR key

对数字进行递增,但是key必须是数字

语法:

127.0.0.1:6379> set age 20
OK
127.0.0.1:6379> INCR age
(integer) 21

getset

设置key的值,并返回key的旧值

127.0.0.1:6379> getset name python
"dockerredis"
127.0.0.1:6379> get name
"python"

HASH 哈希

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)

hset key field value

该命令创建一个哈希表并且指定其中一个字段的值

set person name laoyang
hset commit cnt 10
hget key filed value

返回该哈希表中指定字段的值

127.0.0.1:6379> hget person name
"laoyang"
目录
相关文章
|
6月前
|
应用服务中间件 nginx Docker
静态资源管理:Nginx在Docker中的部署
部署Nginx到Docker中作为静态资源服务器是一种既简单又高效的方法,可以节省时间和资源,并能确保一致性和可扩展性。我们通过编写Dockerfile指定了基础镜像和所需指令,编写Nginx配置管理请求处理,构建自定义Docker镜像,并运行容器以启动服务。这一过程即符合开发规范,也保证了资源的高效管理和访问速度。
355 13
|
10月前
|
数据采集 缓存 监控
Zabbix性能调优三板斧
在“2024 Zabbix中国峰会”上,上海宏时数据系统有限公司的董玉凡分享了《Zabbix性能调优三板斧》。内容涵盖Zabbix性能瓶颈分析、优化核心原则及实际案例。通过配置优化、数据采集优化和架构扩展优化三大方面,结合自监控数据精准施策,显著提升大规模监控场景下的系统稳定性与效率。案例展示了6000+节点和5000+网络设备的成功优化实践。
448 0
|
11月前
|
敏捷开发 人工智能 安全
通义灵码+DeepSeek-R1:AI编程助手的新标杆?
通义灵码与DeepSeek-R1深度集成,重新定义AI编程工具边界。该组合通过大模型与垂直优化,提升代码生成、上下文理解及缺陷检测能力,显著提高开发者效率(节省35%编码时间)。适用于敏捷开发、系统重构等场景,尤其适合中小型研发团队和全栈开发者。
|
12月前
|
网络协议 应用服务中间件 网络安全
2025阿里云免费版SSL证书申请流程,跟着教程一步步,非常简单!
2025年阿里云提供免费SSL证书,品牌为Digicert,单域名证书免费时长3个月,每账号限领20张。申请流程包括登录阿里云数字证书管理服务控制台,选择“个人测试证书”,完成购买并填写申请表单,进行域名DNS验证,提交审核后下载证书。支持多种服务器类型及证书格式。免费证书到期需重新申请,不支持续费。详情见阿里云官方页面。
2993 15
|
存储 机器学习/深度学习 API
开源向量数据库比较:Chroma, Milvus, Faiss,Weaviate
该文探讨了向量数据库在语义搜索和RAG中的核心作用,并介绍了四个开源向量数据库:Chroma、Milvus、Faiss和Weaviate。这些数据库用于存储高维向量,支持基于相似性的快速搜索,改变了传统的精确匹配方法。文章详细比较了它们的特性,如Chroma的易用性,Milvus的存储效率,Faiss的GPU加速,和Weaviate的图数据模型。选择合适的数据库取决于具体需求,如数据类型、性能和使用场景。
3819 0
|
Java API Spring
Spring Boot 中的 AOP 处理
对 Spring Boot 中的切面 AOP 做了详细的讲解,主要介绍了 Spring Boot 中 AOP 的引入,常用注解的使用,参数的使用,以及常用 api 的介绍。AOP 在实际项目中很有用,对切面方法执行前后都可以根据具体的业务,做相应的预处理或者增强处理,同时也可以用作异常捕获处理,可以根据具体业务场景,合理去使用 AOP。
|
负载均衡 Cloud Native 容灾
阿里云负载均衡SLB价格_ALB、NLB和CLB区别_负载均衡详细介绍
阿里云负载均衡SLB提供ALB、NLB和CLB三种类型,分别适用于7层和4层的不同场景。ALB与NLB仅支持按量付费,而CLB则额外提供包年包月选项。ALB强调7层应用处理与高级路由,NLB聚焦4层的大流量处理与SSL卸载。两者均支持自动弹性伸缩,确保高可用性和性能。CLB作为传统负载均衡,适用于特定需求。每种类型依据实例规格与使用量收费,其中公网实例还需支付网络费用。通过这些服务,用户可以实现流量分发、故障转移及提升应用系统的稳定性和扩展性。
|
canal SQL 关系型数据库
Canal入门
Canal入门
828 1
|
消息中间件 监控 安全
Kafka客户端工具:Offset Explorer 使用指南
Kafka客户端工具:Offset Explorer 使用指南
11937 0
|
消息中间件 Kafka Linux
Kafka【付诸实践 03】Offset Explorer Kafka 的终极 UI 工具安装+简单上手+关键特性测试(一篇学会使用 Offset Explorer)
【2月更文挑战第21天】Kafka【付诸实践 03】Offset Explorer Kafka 的终极 UI 工具安装+简单上手+关键特性测试(一篇学会使用 Offset Explorer)
2348 2

热门文章

最新文章