Redis教程-基础篇

news2024/12/26 20:41:43

第一部分:入门

1.1 Redis简介

Redis(Remote Dictionary Server)是一个高性能的键值存储系统,它是一种开源、基于内存的数据结构服务器。Redis以其出色的性能和灵活的数据结构而受到广泛关注和应用。下面展开描述Redis的定义和特点:

  1. 高性能:Redis完全基于内存操作,并使用了多种优化策略,因此具有极高的读写速度。它支持每秒数十万次的读写操作,使其成为许多高流量和实时应用的理想选择。

  2. 数据结构的丰富性:Redis支持多种数据结构,包括字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(sorted set)等。每种数据结构都具有丰富的操作命令,使得开发人员可以灵活地存储和处理各种数据。

  3. 内建的数据持久化:Redis提供两种持久化机制,即RDB快照和AOF日志。RDB快照将内存中的数据以二进制形式保存到硬盘上,AOF日志记录了对数据库的每个写操作,以便在重启时重新构建数据。

  4. 多样的应用场景:Redis可以应用于多种场景,例如缓存、会话管理、消息队列、实时分析、排行榜和计数器等。它的高性能、数据结构灵活性以及丰富的功能使其在许多企业和产品中得到广泛应用。

  5. 分布式支持:Redis提供了Redis Cluster模式,可以将数据分布在多个节点上,实现高可用性和横向扩展。通过数据分片和自动故障转移,Redis Cluster可以处理海量数据和高并发访问。

  6. 开源和活跃的社区支持:Redis是一个开源项目,拥有庞大的活跃社区。这意味着你可以自由地使用、修改和分发Redis,并获得社区的支持和贡献。

总之,Redis是一个功能强大且性能卓越的键值存储系统,它通过提供多种数据结构和丰富的功能,满足了各种应用场景的需求。无论是构建实时应用、处理大量数据、还是实现分布式架构,Redis都是一个值得关注和学习的工具。

1.2 安装和配置Redis

①.Windows环境安装

下载地址

Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 D 盘,解压后,将文件夹重新命名为 redis。
在这里插入图片描述

打开文件夹,内容如下:
在这里插入图片描述
打开一个 cmd 窗口 使用 cd 命令切换目录到 C:\redis 运行:

redis-server.exe redis.windows.conf

如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。输入之后,会显示如下界面:
在这里插入图片描述
这时候另启一个 cmd 窗口,原来的不要关闭,不然就无法访问服务端了。

切换到 redis 目录下运行:

redis-cli.exe -h 127.0.0.1 -p 6379

设置键值对:

set myKey abc

取出键值对:

get myKey

在这里插入图片描述

②.Linux 源码安装

下载地址,下载最新稳定版本。

# wget https://download.redis.io/releases/redis-6.2.6.tar.gz
# tar xzf redis-6.0.8.tar.gz
# cd redis-6.0.8
# make

执行完 make 命令后,redis-6.0.8 的 src 目录下会出现编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli:

下面启动 redis 服务:

# cd src
# ./redis-server

注意这种方式启动 redis 使用的是默认配置。也可以通过启动参数告诉 redis 使用指定配置文件使用下面命令启动。

# cd src
# ./redis-server ../redis.conf

redis.conf 是一个默认的配置文件。我们可以根据需要使用自己的配置文件。

启动 redis 服务进程后,就可以使用测试客户端程序 redis-cli 和 redis 服务交互了。 比如:

# cd src
# ./redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

1.3 Redis基本命令

Redis是一种基于键值对存储的数据结构服务器,提供了许多命令来操作这些键值对。下面是Redis的一些基本命令:

  1. SET key value:将键值对存储到Redis数据库中。如果键已存在,则覆盖现有值。

    示例:将键名为“name”的值设置为“Tom”。

    SET name Tom
    
  2. GET key:从Redis数据库中检索键的值。

    示例:获取键名为“name”的值。

    GET name
    
  3. DEL key:从Redis数据库中删除指定键及其对应的值。

    示例:删除键名为“name”的键值对。

    DEL name
    
  4. KEYS pattern:返回符合给定模式的所有键名。

    示例:返回所有以“user:”开头的键名。

    KEYS user:*
    
  5. EXISTS key:检查给定键是否存在于Redis数据库中。

    示例:检查键名为“name”的键是否存在。

    EXISTS name
    
  6. INCR key:将给定键的值加一。

    示例:将键名为“counter”的值加一。

    INCR counter
    
  7. DECR key:将给定键的值减一。

    示例:将键名为“counter”的值减一。

    DECR counter
    
  8. EXPIRE key seconds:设置给定键的生存时间(以秒为单位)。

    示例:将键名为“name”的键的生存时间设置为60秒。

    EXPIRE name 60
    
  9. TTL key:返回给定键的剩余生存时间(以秒为单位)。

    示例:返回键名为“name”的键的剩余生存时间。

    TTL name
    
  10. FLUSHALL:删除所有键值对。

示例:删除所有键值对。

FLUSHALL

以上是Redis的一些基本命令,它们可以满足大部分基本的数据操作需求。当然,Redis还提供了更多高级命令和操作,比如哈希表、列表、集合、有序集合等数据结构的操作命令,以及事务处理、发布/订阅等高级功能。如果需要更多信息,可以参考Redis官方文档。

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

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

相关文章

chatgpt赋能Python-python3gui

Python3 GUI- 让你的应用程序更酷炫 随着技术的发展,图形用户界面(Graphical User Interface, GUI)已经成为软件开发过程中不可或缺的一部分。Python3是一个用于快速开发应用程序的强大编程语言,支持多种GUI库。本文将为您介绍Python3 GUI的一些基本概念…

web安全第一天 ,域名,dns

第一天 什么是域名?域名就是网络地址 在hhtp之后的就是域名 域名在哪里注册呢 国内注册商有很多,在网络上搜索一下阿里云万网就可以注册 什么是二级域名和多级域名 域名通常都是www.开头 ,而www.被称为顶级域名,在搜索的时候…

【云计算与虚拟化】第五章 实验一 vCenter Server的高级功能—vMotion、虚拟内存、虚拟CPU、磁盘分配及资源池

实验一 vCenter Server的高级功能—vMotion、虚拟内存、虚拟CPU、磁盘分配及资源池 1.通过vSphere client 客户端登陆vCenter服务器 (1)再次新建一个共享存储,iSCSI类型的,大小60G,名称为iSCSI-2。 (2…

C++模板类与函数

目录 分类 一、普通函数,参数和返回值是模板类的实例化版本(只支持AA模板类的某一个具体化类) 1)代码 2)分析 3)运行结果 二、函数模板,参数和返回值是某种模板类(只支持AA模板…

chatgpt赋能Python-python31个关键词

Python 31个关键词: 了解Python编程的基础知识 Python是一种高级编程语言,首次推出于1991年。自那时以来,Python已经成为最受欢迎的编程语言之一,它具有易读性、易维护性和清晰的语法。在这篇文章中,我们将介绍Python的31个关键词…

python3.8 安装 ssl 模块 和 _ctypes 模块

文章目录 前情提要安装 openssl-1.1.1重新编译安装 python3.8-rpath 编译选项介绍python3.8 跟 python3.10 的区别 前情提要 在我成功给 python3.10 安装 ssl 模块后自以为是的写下了 “虽然我编译的是 python3.10,但是对于 python3.6、python3.8 应该同样适用。”…

chatgpt赋能Python-python3_0怎么安装

Python3.0怎么安装 Python3.0是一个优秀的编程语言,其简单易学,易用性强,且具有强大的功能和广泛的应用。如果您需要在您的电脑上使用Python3.0,本文将为您介绍如何进行安装。 下载Python3.0 首先,您需要从官方网站…

教育不得不改变,ChatGPT可以提供个性化学习

近日,OpenAI的首席执行官Sam Altman接受ABC新闻首席商业、技术和经济记者Rebecca Jarvis的独家采访。Sam Altman提到了对错误信息的担忧、探讨了人工智能与人类工作的关系、ChatGPT与教育的关系等。 ChatGPT今年1月面世后,在短短几个月内就达到了1亿月活…

代码随想录训练营Day43| 1049. 最后一块石头的重量 II 494. 目标和 474.一和零

目录 学习目标 学习内容 1049. 最后一块石头的重量 II 494. 目标和 474.一和零 学习目标 1049. 最后一块石头的重量 II 494. 目标和 474.一和零 学习内容 1049. 最后一块石头的重量 II 1049. 最后一块石头的重量 II - 力扣(LeetCode)https://l…

【云计算与虚拟化】第三章 实验二 在ESXi主机中安装操作系统

实验二 在ESXi主机中安装操作系统 为ESXi主机添加一块数据存储磁盘,大小为80G,磁盘名称为:ESXi-loc-80G(截图) 2.登录vSphere Client,加载新添加的数据存储磁盘,加载大小为60G,并将…

网络编程——嵌入式(驱动)软开基础(五)

1. 列举一下OSI协议的各种分层。说说你最熟悉的一层协议的功能。 (1)七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。 (2)五层划分为:应用层、传输层、网络层、数据链路层、物理层。 (3)四层划分为:应用层、传输层、网络层、网络接口层。(…

springboot+java+jsp校园二手书旧书交易交换系统

前台功能:用户进入系统可以对首页、书籍信息、校园公告、个人中心、后台管理等功能进行操作; 后台主要是管理员,管理员功能包括主页、个人中心、学生管理、发布人管理、书籍分类管理、书籍信息管理、交易信息管理、交换信息管理、系统管理等&…

Linux运维常用grep命令使用

grep 命令是 Linux 运维中非常常见的文本搜索工具 常用的使用方法如下: 1、查找包含指定字符串的行 grep "pattern" file.txt 其中,pattern 是要查找的字符串,file.txt 是要搜索的文件名。 2、查找不包含指定字符串的行 grep -v…

chatgpt赋能Python-python3_9_2怎么换行

Python 3.9.2 换行方法 Python 3.9.2 已经出现了,除了一些修复和新功能,Python 3.9.2 还包括了一些在换行方面的改进。在本文中,我们将介绍 Python 3.9.2 中换行的新方法。 换行符 在 Python 3.9.2 中,我们可以使用换行符来实现…

chatgpt赋能Python-python3_10下载安装

Python3.10:开发者首选 对于每个开发者来说,选择合适的编程语言是至关重要的。在众多可供选择的编程语言中,Python一直是最受欢迎的选择之一。为什么Python如此受欢迎?因为其简单易学、代码可读性强、广泛的库支持和适用于各种应…

【Git相关命令】

git全局设置 作用是用于描述git使用者的身份。注意,设置的用户名和邮箱跟代码托管平台的用户名和邮箱没有任何关系。 git config --global user.name "用户名" git config --global user.email "邮箱地址"获取git仓库 方式1:将本地的…

【5.18】二、黑盒测试方法—边界值分析法

目录 2.2 边界值分析法 2.2.1 边界值分析法概述 2.2.2 实例:三角形问题的边界值分析 2.2.3 实例:余额宝提现的边界值分析 2.2 边界值分析法 程序的一些错误往往发生在边界处理上,这是因为程序开发时对边界问题没有做好处理。边界值分析法…

视频剪辑要学什么软件 视频剪辑要学些什么

这几年短视频行业迅速出圈,不少人都想加入这片红海,但是在剪辑这块儿却卡住了。众所周知,想要发短视频,会视频剪辑是很重要的。那么视频剪辑要学什么软件,视频剪辑要学什么?下面我们来分享一下相关知识。一…

JAVA日常练习—习题5

1.机器人类及其子类 设计一个机器人的抽象类,具有质量(double)、名字(String)等属性;具有设置属性值方法和获得并打印属性值的方法,还有一个运动的抽象方法move()。设计电动汽车类和飞行器类&a…

【STM32G431RBTx】备战蓝桥杯嵌入式→决赛试题→第十届

文章目录 前言一、题目二、模块初始化三、代码实现interrupt.h:interrupt.c:main.h:main.c: 四、完成效果五、总结 前言 无 一、题目 二、模块初始化 1.LCD这里不用配置,直接使用提供的资源包就行 2.双ADC:开启双ADCsingle-ended 3.LED:开启PC8-15,PD2输出模式就…