【Redis基础】快速入门

一、初识Redis

1. 认识NoSQL

在这里插入图片描述

2. 认识Redis

  • Redis诞生于2009年,全称是Remote Dictionary Server(远程词典服务器),是一个基于内存的键值型NoSQL数据库
  • 特征
    (1)键值(key-value)型,value支持多种不同数据结构,功能丰富
    (2)单线程执行命令,所有命令是串行执行的,每个命令具备原子性,不会存在一个命令执行过程中,其他命令插入进来的情况(注意:Redis 6.0的多线程仅仅是针对网络请求处理这块,而核心的命令的执行这部分依然是单线程)
    (3)低延迟,速度快(基于内存、IO多路复用、良好的编码:C语言编写)
    (4)支持数据持久化,定期将内存中数据持久化到磁盘,确保数据的安全性
    (5)支持主从集群、分片集群
    (6)支持多语言客户端

3. 安装Redis

  • 安装Redis依赖
    (1)Redis是基于C语言编写的,因此首先需要安装Redis所需要的gcc依赖

    yum install -y gcc tcl
    
  • 上传Redis安装包并解压、安装
    (1)将redis-6.2.6.tar.gz包,上传到/usr/local/src目录下
    (2)解压redis-6.2.6.tar.gz,进入解压后目录,运行编译命令,如果没有报错则安装成功

    tar -zxvf redis-6.2.6.tar.gzcd redis-6.2.6make && make install
    

    (3)默认的安装路径:/usr/local/bin目录下

    在这里插入图片描述

    (4)该目录已经默认配置到环境变量中,可以在任意目录下运行这些命令

    1)redis-cli:Redis提供的命令行客户端
    2)redis-server:Redis的服务端启动脚本
    3)redis-sentinel:Redis的哨兵启动脚本
    
  • 启动Redis
    (1)默认启动

    1)安装完成后,在任意目录输入redis-server命令即可启动Redis
    2)这种启动属于前台启动,会阻塞整个会话窗口,窗口关闭或者按下CTRL + C,则Redis停止【不推荐使用】redis-server
    

    (2)指定配置启动

    1)修改Redis配置文件redis.conf(路径:/usr/local/src/redis-6.2.6)2)备份redis.conf
    cp redis.conf redis.conf.bak3)修改redis.conf文件中的一些配置
    # 监听的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
    bind 0.0.0.0
    # 守护进程,修改为yes后即可后台运行
    daemonize yes
    # 密码,设置后访问Redis必须输入密码
    requirepass 1233214)Redis的其它常见配置
    # 监听的端口
    port 6379
    # 工作目录,默认是当前目录(哪里启动,哪里就是工作目录),也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
    dir .
    # 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
    databases 1
    # 设置redis能够使用的最大内存
    maxmemory 512mb
    # 日志文件,默认为空,不记录日志,可以指定日志文件名
    logfile "redis.log"5)启动Redis
    # 进入redis安装目录 
    cd /usr/local/src/redis-6.2.6
    # 启动
    redis-server redis.conf6)停止服务
    # 利用redis-cli来执行shutdown命令,即可停止Redis服务,因为之前配置了密码,因此需要通过-a来指定密码
    redis-cli -a 123321 shutdown
    

    (3)开机自启

    1)新建一个系统服务文件
    vim /etc/systemd/system/redis.service2)输入以下内容
    [Unit]
    Description=redis-server
    After=network.target[Service]
    Type=forking
    ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
    PrivateTmp=true[Install]
    WantedBy=multi-user.target3)重载系统服务
    systemctl daemon-reload4)可以用下面这组命令来操作redis
    # 启动
    systemctl start redis
    # 停止
    systemctl stop redis
    # 重启
    systemctl restart redis
    # 查看状态
    systemctl status redis5)让redis开机自启
    systemctl enable redis
    

4. Redis客户端

  • 命令行客户端
    在这里插入图片描述

  • 图形化桌面客户端
    (1)安装包:https://github.com/lework/RedisDesktopManager-Windows/releases

    在这里插入图片描述

  • 编程客户端【后续实现】

二、Redis常见命令

1. Redis数据结构介绍

  • Redis是一个key-value的数据库,key一般是String类型,但是value的类型多种多样
    在这里插入图片描述
  • Redis将操作不同数据类型的命令进行分组,在官网(https://redis.io/commands)可以查看不同命令组
    在这里插入图片描述
  • 通过help也可以查看命令分组
    在这里插入图片描述

2. Redis通用命令

  • KEYS:查看符合模板的所有key,不建议在生产环境中使用
  • DEL:删除一个指定的key
  • EXISTS:判断key是否存在
  • EXPIRE:给一个KEY设置有效期,有效期到期时该key会被自动删除
  • TTL:查看一个key的剩余有效期

3. String类型

4. Hash类型

5. List类型

6. Set类型

7. SortedSet类型

三、Redis的Java客户端

1. Jedis客户端

2. SpringDataRedis客户端

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

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

相关文章

在vite创建的vue3项目中使用Cesium加载纽约建筑模型、设置样式,划分城市区域并着色

在vite创建的vue3项目中使用Cesium加载纽约建筑模型、设置样式,划分城市区域并着色 使用vite创建vue3项目 npm create vitelatestcd到创建的项目文件夹中 npm install安装Cesium npm i cesium vite-plugin-cesium vite -D配置 vite.config.js文件:添加Ce…

基于OpenCV 实现车牌号码识别--附免费源码

在本教程中,您将学习如何使用 OpenCV 和 EasyOCR 包自动执行车牌/车牌识别 (LPR/NPR)。 EasyOCR是一个开源 Python 包,用于执行光学字符识别 - OCR(从图像中提取文本)。 该软件包非常易于使用,在撰写本文时,它支持 80 多种语言,包括中文、阿拉伯语、法语、英语、西里尔…

【Linux】- 常用指令和运行级别

运行级别 1.1🚞指定运行级别1.2🚊帮助指令1.3🚔文件目录类指令2.1 **ls 指令**2.2 **cd 指令**2.3 **mkdir 指令**2.4 **rmdir 指令**3.1 **touch 指令**3.2 **cp 指令**3.3 **rm 指令**3.4 **mv 指令**4.1 **cat 指令**4.2 **more 指令**4.3…

【C++学习笔记】C++如何规范C语言中的类型转换

C的类型转换 1 C语言中类型转换的缺陷2 为什么C要规范C的类型转换3 C强制类型转换3.1 static_cast3.2 reinterpret_cast3.3 const_cast3.4 dynamic_cast 1 C语言中类型转换的缺陷 在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配&a…

【unity小技巧】委托(Delegate)的基础使用和介绍

文章目录 一、前言1. 什么是委托?2. 使用委托的优点 二、举例说明1. 例12. 例2 三、案例四、泛型委托Action和Func1. Action委托2. Func委托 五、参考六、完结 一、前言 1. 什么是委托? 在Unity中,委托(Delegate)是一…

【分布式】 ELK 企业级日志分析系统 二

目录 一、FilebeatELK 部署1.1 环境部署 二、grok 正则捕获插件mutate 数据修改插件multiline 多行合并插件date 时间处理插件 一、FilebeatELK 部署 1.1 环境部署 Node1节点(2C/4G):node1/192.168.137.101 Elasticsearch Node2节点&…

【Distributed】分布式ELK日志文件分析系统(二)

文章目录 一、FilebeatELK 部署1. 环境部署2. 在 Filebeat 节点上操作2.1 安装 Filebeat2.2 设置 filebeat 的主配置文件 3. 在 Apache 节点上操作3.1 在 Logstash 组件所在节点上新建一个 Logstash 配置文件 3. 启动3.1 在Logstash 组件所在节点启动3.2 在 Filebeat 节点 启动…

git报错:remote: Access denied (URL 403)

git报错:remote: Access denied fatal: unable to access ‘ https:/ /gitee. cohe requested URL 403 大概的原因,是之前更改了 可能因为我之前在git bash中配过ssh,系统已经将指向git的用户设置了别的位置,所以…

基础篇--单片机简介

单片机简介 视频教程 单片机是什么 单片机:Single-Chip Microcomputer 单片微型计算机,是一种集成电路芯片 单片机有什么用? 单片机发展历程 单片机发展超势 CISC Vs RISC CISC和RISC举例 https://wenku.baidu.com/view/b074b0ed998fcc22b…

使用均值漂移来量化带宽分类数据

均值漂移概念 均值漂移的基本概念:沿着密度上升方向寻找聚簇点,其计算过程如下: 1 均值漂移算法首先找到一个中心点center(随机选择),然后根据半径划分一个范围 把这个范围内的点输入簇x的标记个数加1 2 在…

【JavaEE】JVM的组成及类加载过程

博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE初阶 本文我们主要讲解一下面试中常见的问题,如果想深入了解,请看一下《Java虚拟机规范》这本书 目录 文章目录 一、JVM简介 二、JVM整体组成 2.1 运行时数据区组成 2.2…

ELK日志记录——Kibana组件——grok 正则捕获插件

grok 正则捕获插件 grok 使用文本片段切分的方式来切分日志事件 内置正则表达式调用 %{SYNTAX:SEMANTIC} ●SYNTAX代表匹配值的类型,例如,0.11可以NUMBER类型所匹配,10.222.22.25可以使用IP匹配。 ●SEMANTIC表示存储该值的一个变量声明&…