首页 > 数据库 >Redis简单介绍与安装应用

Redis简单介绍与安装应用

时间:2024-09-23 13:48:26浏览次数:10  
标签:应用 conf Redis redis 键值 key 集合 安装

        在当今的互联网时代,数据的快速存取和处理变得至关重要。Redis,作为一种高性能的键值存储系统,已经成为许多开发者和企业的首选。本文将简要介绍Redis的基本概念、工作原理以及其在实际应用中的一些典型用例。

一、简介

1)概念

        Redis(Remote Dictionary Server)是一个开源的 NoSQL 数据库,它是基于内存的,因此读写速度快,适合用作缓存。它以其卓越的性能和丰富的数据结构支持而闻名,包括字符串、哈希、列表、集合、有序集合等。NoSQL 即 Not-Only SQL,指的是不仅仅使用 SQL 语言作为数据库查询语言的数据库管理系统。

 2)常见的 NoSQL 数据库

  • KV键值对类型:Redis
  • 列式存储:Hbase
  • 文档类型存储:MongoDB
  • 图形化存储:Neo4J

 二、Redis的特点

  1. 高性能:Redis能够处理大量的并发请求,读写速度极快,因为它的数据存储在内存中。
  2. 持久化:虽然Redis是内存数据库,但它提供了持久化选项,可以将内存中的数据保存到磁盘上,以防系统故障。
  3. 原子性:Redis的所有操作都是原子性的,这意味着多个操作可以组合在一起作为一个单独的原子操作执行。
  4. 丰富的数据类型:Redis支持多种数据类型,这使得它能够轻松处理各种复杂的数据结构。
  5. 可扩展性:Redis支持主从复制和哨兵系统,可以轻松实现数据的分布式存储和高可用性。

三、Redis工作原理

        Redis采用事件驱动的架构,单线程处理所有客户端请求。它通过事件循环监听文件事件(客户端连接、命令请求)、时间事件(过期键清理)和定时器事件(客户端超时请求)。

四、Redis 安装

redis官方只给了linux版本的下载,并没有windows,网络上流传的windows版本是微软团队写的。

1)安装 

1、上传并解压
tar -zxvf redis-5.0.4.tar.gz -C /opt/installs/
2、安装GCC环境
yum安装需要网络环境,必须能够联网才行
yum -y install gcc-c++
3、编译我们的redis源代码
cd /opt/installs/redis-5.0.4
进行 make     在 src目录下
4、进行安装(可以选择) make install 
默认安装到了 /usr/local/bin 目录下
redis-server   启动redis的服务器
redis-cli      启动redis客户端


说明一下:因为执行程序已经在 /usr/local/bin目录下了,所有不需要配置环境变量

环境变量就是path路径,path路径直接决定了一个命令是否可以找到。

2)修改配置文件

启动redis
启动服务器:  redis-server    这个启动是明着启动
启动客户端:  redis-cli     连接服务器的客户端,用于编写命令的
退出:
redis-cli  退出 quit
redis-server 退出  如果是明着启动,ctrl + C

redis服务可以在后台运行。
修改配置文件:
redis.conf

 

将这个配置文件复制到  /usr/local/bin 下面
cp /opt/installs/redis-5.0.4/redis.conf /usr/local/bin/

启动的时候,指定conf 一起启动
redis-server /usr/local/bin/redis.conf

修改redis.conf 就直接使用 /usr/local/bin/redis.conf 即可

这里修改为你自己的虚拟机IP地址

查看redis进程:

ps -ef|grep redis

 关闭redis的后台进行:
1、直接kill       kill -9  进程号
2、redis-cli -h 192.168.32.129 shutdown
    假如你在redis.conf 下指定了 bind 这个参数,在关闭的时候,需要添加  -h IP地址,如果使用的是默认的 bind 127.0.0.1 
   直接使用 redis-cli shutdown

 因为在redis.conf 下配置了bind IP 所以,连接的时候需要带上 IP地址

这里修改为你自己的虚拟机IP地址

redis-cli -h 192.168.52.129

3)设置密码(根据需要)

redis是可以设置密码的:

/usr/local/bin/redis.conf

假如有密码,连接的时候需要如下命令:

redis-cli -h 192.168.10.101 -p 6379 -a 123456

如果关闭需要使用如下命令:
redis-cli -h 192.168.10.101 -p 6379 -a 123456 shutdown

五、Redis 基本使用

1)连接 Redis

使用 datagrip 连接 redis:

2)操作数据库

Redis 默认有 16 个数据库,可以通过 select 命令切换数据库。

3)基本命令

先说一下key 这个命令的用法:

keys *

查看当前库的所有键

exists <key>

判断某个键是否存在

type <key>

查看键的类型

del <key>

删除某个键

expire <key><seconds>

为键值设置过期时间,单位秒

ttl <key>

查看还有多久过期,-1表示永不过期,-2表示已过期

dbsize

查看当前数据库中key的数量

flushdb

清空当前库

flushall

通杀全部库

 

 

六、Redis 数据类型

1)String —— 字符串类型

字符串类型的value值,可以占用512M的空间,所以可以存储很多的数据。

get <key>

查询对应键值

set <key><value>

添加键值对

append <key><value>

将给定的<value>追加到原值的末尾

strlen <key>

获取值的长度

setnx <key><value>

只有在key 不存在时设置key的值,SET if Not eXists

incr <key>

将key中存储的数字值增1只能对数字值操作,如果为空,新增值为1

decr <key>

将key中存储的数字值减1只能对数字之操作,如果为空,新增值为-1

incrby /decrby <key> 步长

将key中存储的数字值增减,自定义步长

mset <key1><value1><key2><value2>

同时设置一个或多个key-value对

mget <key1><key2><key3>

同时获取一个或多个value

msetnx <key1><value1><key2><value2>

同时设置一个或多个key-value对,当且仅当所有给定的key都不存在

getrange <key> <起始位置> <结束位置>

获得值的范围,类似java中的substring

setrange <key> <起始位置> <value>

用<value>覆盖<key>所存储的字符串值,从<起始位置>开始

setex <key> <过期时间> <value>

设置键值的同时,设置过去时间,单位秒

getset <key><value>

以新换旧,设置了新值的同时获取旧值

2) List —— 散列类型

有序的(插入的时候有序),底层是一个双向链表

 

3) Set —— 列表类型

Set的特点是无序不重复的

sadd <key><value1><value2> ....

将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。

smembers <key>

取出该集合的所有值。

sismember <key><value>

判断集合<key>是否为含有该<value>值,有返回1,没有返回0

scard <key>

返回该集合的元素个数。

srem <key><value1><value2> ....

删除集合中的某个元素。

spop <key>

随机从该集合中吐出一个值。

srandmember <key><n>

随机从该集合中取出n个值。不会从集合中删除

sinter <key1><key2>

返回两个集合的交集元素。

sunion <key1><key2>

返回两个集合的并集元素。

sdiff <key1><key2>

返回两个集合的差集元素。

4) Hash —— 集合类型

Redis hash 是一个键值对集合

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

hset <key><field><value>

<key>集合中的 <field>键赋值<value>

hget <key1><field>

从<key1>集合<field> 取出 value

hmset <key1><field1><value1><field2><value2>...

批量设置hash的值

hexists key <field>

查看哈希表 key 中,给定域 field 是否存在。

hkeys <key>

列出该hash集合的所有field

hvals <key>

列出该hash集合的所有value

hincrby <key><field><increment>

为哈希表 key 中的域 field 的值加上增量 increment

hsetnx <key><field><value>

将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在

 

 

 

5) Zset(Sorted Set)—— 有序集合类型

zrange <key><start><stop> [WITHSCORES]

返回有序集 key 中,下标在<start><stop>之间的元素带WITHSCORES,可以让分数一起和值返回到结果集。

zrangebyscore key min max withscores

返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。

zrevrangebyscore key max min withscores

同上,改为从大到小排列。

zincrby <key><increment><value>

为元素的score加上增量

zrem <key><value>

删除该集合下,指定值的元素

zadd <key><score1><value1><score2><value2>...

将一个或多个 member 元素及其 score 值加入到有序集 key 当中

zcount <key><min><max>

统计该集合,分数区间内的元素个数

zrank <key><value>

返回该值在集合中的排名,从0开始。

 

五大基本数据类型,实战过程中String最实用。

七、资源链接

        通过这篇文章,我们初步了解了 Redis 的基本概念、安装方法和基本操作,以及它的数据类型和一些常用命令。Redis 作为一个功能强大的 NoSQL 数据库,非常适合用作缓存系统,提高应用性能。

标签:应用,conf,Redis,redis,键值,key,集合,安装
From: https://blog.csdn.net/weixin_64726356/article/details/142424025

相关文章

  • win11安装 .net 3.5
    前言在win11中,控制面板,以及官网下的.net3.5安装包,都无法正常安装.net环境,会显示错误代码:0x800F0950安装办法查了一下网上资料,使用win11镜像提取出对应的文件进行安装,文件下载链接我放这里了:https://wwt.lanzout.com/iXTdo04v3sbiwin+x打开终端管理员:在终端按回车执行:Dism......
  • 旅行者之路:数据技术在出行业的不断进化与应用
    在数据驱动业务的当代,出行行业尤其显示出对数据技术的渴求和依赖。从原始的数据仓库到现代的数据中台,以及促进自我增长的数据飞轮,每一步技术进化都显著增强了企业的竞争力和服务质量。本文将聚焦于出行业,探讨数据技术如何使得广告监测、老用户活跃、增长营销及公域获客等业务场景得......
  • Git安装使用教程,详细到哭
    我们先来理解下Git工作区、暂存区和版本库概念:工作区:就是你在电脑里能看到的目录。暂存区:英文叫stage或index。一般存放在.git目录下的inde一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎徽关注公zhong号:编程进阶路......
  • 任务三:pdf转换器应用
    本次添加水印我使用的lightPDF网页进行水印的添加工作https://lightpdf.com/1.首先要先注册账号2.可以使用浏览器对网页进行翻译3.在“pdf工具栏”中找到第三列“编辑pdf”的位置,选择“水印pdf”4.把需要添加水印的文件添加到网页中5.对水印的大小,透明度,颜色,内容进行调整6.......
  • 开源MySQL 数据库闪回工具:MyFlash数据恢复工具的安装及使用示例
    MyFlash是一个由美团点评开源的MySQL数据库闪回工具,它专门用于回滚MySQL中的DML操作,如INSERT、UPDATE和DELETE。这个工具通过解析MySQL的binlog文件来实现数据的恢复。使用MyFlash前,需要确保MySQL的binlog格式设置为ROW,并且binlog_row_image设置为FULL。以......
  • IPD流程体系:IPD在硬件产品开发中的应用
    目录1、内容简介2、开发各阶段介绍3、PVT阶段4、资源群更新作者简介1、内容简介在硬件类相关产品的开发过程中,每个阶段的工作都是需要按照一定的流程、规范和标准去进行的。整体还是相对瀑布化的流程,每个阶段的输入、输出、准入、准出标准也都很明确。也就是说,硬件类产品相对更容易......
  • 影刀RPA与钉钉、宜搭、云文档、AI结合的自动化办公应用研究
    摘要随着信息技术的快速发展,企业对于提高办公效率和质量的需求日益增长。影刀RPA(RoboticProcessAutomation,机器人流程自动化)作为一种新兴的技术,与钉钉、宜搭、云文档、AI等工具的结合,为自动化办公提供了新的可能性。本文旨在探讨影刀RPA与这些工具结合所能实现的自动化......
  • clion安装配置
    1.软件安装(2024.1.5版本)Clion2024.1.4最新激活码,破解版安装教程(亲测有效~)-犬小哈教程(quanxiaoha.com)安装完成后,基础配置:2.配置工具链:......
  • 安装fasttext出错Building wheel for fasttext (pyproject.toml) ... error
    (.venv)(base)PSD:\pycharm_project\rag-api\api>pipinstallfasttext==0.9.3Collectingfasttext==0.9.3Usingcachedfasttext-0.9.3.tar.gz(73kB)Installingbuilddependencies...doneGettingrequirementstobuildwheel...donePreparing......
  • 常用的JVM调优参数和应用场景
    常见的JVM调优参数和应用场景         概要   JVM调优可以显著提升Java应用程序的性能。以下是一些常用的JVM参数和应用场景的介绍。  一、堆内存设置  -Xms<size>和-Xmx<size>:设置初始堆大小和最大堆大小。  1. -Xms<size>  初始化时的......