Redis快速入门

目录

前言

1. Redis介绍

1.1 基本概念

1.2 主要特性

1.3 使用场景

1.4 优势

1.5 总结

2. Redis下载

2.1 Windows操作系统

2.2 Linux操作系统

3. Redis的数据结构

4. Redis的操作命令及通用命令

4.1 字符串String操作命令

4.2 哈希hash操作命令

4.3 列表list操作命令

4.4 集合set操作命令

4.5 集合Sorted set操作命令

4.6 通用命令

5. Redis的图形化界面软件


 

前言

数据库对程序员来说是一项必须掌握的技术,我们常见的数据库有mysql、oracle、DB2等等,这些数据库的数据都是存储在硬盘中,用户访问数据时每次都要从硬盘中取数据,这种模式在访问量少的情况下还可行,但是当用户访问量增加时就会影响用户的应用体验。

我们都知道电脑访问内存的效率较高,那么顺着这个思路我们可以考虑将数据存储到内存中,来提高访问效率,但是内存一般都较小,所以我们只将经常访问的数据加载到内存中,不经常访问的数据不进行加载,根据这个思想Redis应运而生。

1. Redis介绍

Redis(Remote Dictionary Server)是一种开源的高性能键值存储数据库,广泛应用于缓存、消息队列、实时分析和其它需要快速数据访问的场景。以下是对Redis的详细介绍:

1.1 基本概念

  • 类型:Redis是一个基于内存的键值存储(Key-Value Store),同时支持多种数据结构。
  • 数据结构:Redis不仅支持基本的字符串数据,还支持列表、集合、有序集合、哈希表、位图、HyperLogLog以及地理空间索引等复杂数据结构。
  • 协议:Redis使用自定义的协议(RESP,REdis Serialization Protocol)进行客户端与服务器之间的通信。

1.2 主要特性

  • 高性能:Redis因其数据保存在内存中,能够实现非常低的延迟和极高的吞吐量。对于大多数操作,Redis可以在微秒级别完成。
  • 持久化:Redis支持多种持久化机制,包括:
    • RDB(Snapshot):定期将内存中的数据快照保存到硬盘。
    • AOF(Append Only File):记录每个写命令,以便在重启时重放命令恢复数据。
  • 主从复制:支持主从复制(Master-Slave)架构,可以实现数据的高可用性和负载均衡。
  • 分布式存储:Redis提供Redis Cluster特性,实现数据的分片存储以支持更高的并发访问。
  • 事务:支持事务,多个操作可以通过MULTIEXECWATCH等命令封装为一个原子操作。
  • 发布/订阅:内置的消息发布/订阅功能,允许客户端订阅特定频道并接收发布的消息。
  • Lua脚本支持:Redis支持使用Lua脚本进行原子操作,可以在命令执行过程中同时执行复杂的逻辑。

1.3 使用场景

  • 缓存:Redis被广泛用于缓存热门数据,以减少数据库负载并加速数据访问。
  • 会话存储:应用程序可以使用Redis保存用户会话信息,提供快速的读取和写入。
  • 实时数据分析:适合处理高频率的实时数据,如实时统计和用户行为分析。
  • 排行榜和计数器:利用Redis的有序集合功能,轻松实现排行榜、计数器等功能。
  • 消息队列:Redis的列表和发布/订阅功能可用于轻量级的消息队列系统。

1.4 优势

  • 简单易用:Redis拥有简单且直观的命令行接口和丰富的客户端库,支持多种编程语言(如Python、Java、Node.js等)。
  • 灵活性:多样的数据结构和功能使得Redis可以灵活应对不同的应用需求。
  • 高可用性:通过主从复制和高可用模式(Redis Sentinel),Redis可以有效避免单点故障。

1.5 总结

Redis是一种功能强大且高效的数据库解决方案,特别适合需要快速数据访问和高并发处理的应用。无论在现代Web应用、分布式系统、实时分析还是大数据处理场景中,Redis都扮演着越来越重要的角色。凭借其高性能和灵活性,Redis已经成为开发者和企业的热门选择。

2. Redis下载

Redis默认的端口为6379

2.1 Windows操作系统

 Redis下载:Releases · microsoftarchive/redis (github.com)https://github.com/microsoftarchive/redis/releases

进入下载界面后选择版本下载zip文件,进行解压,解压后的目录如下

9ecbc690cbe94218a5fb2b118b227933.png

redis-server.exe是服务端,redis-cli.exe是客户端;当我们使用redis时要先将服务端启动,之后再打开客户端,其中redis.windows-service.conf为redis的配置文件

2.2 Linux操作系统

Redis下载:Index of /releases/https://download.redis.io/releases/

安装步骤:

1.将redis的安装包上传到linux

2.解压安装包,命令:tar -zxvf 文件名/安装目录

3.安装redis的依赖环境gcc,命令:yum install gcc-c++

4.进入redis的安装目录,进行编译,命令:make

5.进入redis的src目录,进行安装,命令:make install

安装完成的redis的目录如下:

510ad0b604704535af429c31177aab01.png

对redis进行配置,命令:vim redis.conf,进入后按下【/】进入搜索模式

第一:搜索daemonzie,将其改为daemonzie yes;这个配置是将linux操作系统下的redis改为后台运行,不让其运行时进行霸屏

第二:搜索requirepass,将其改为 requirepass 密码,这一项配置可要可不要,默认是注释掉了

第三:搜索bind,将其bind 127.0.0.1注释掉,这样就可以远程连接redis

启动src/redis-server  ./redis.conf 

关闭redis可以采用杀进程的方法,命令ps -ef | grep redis查出redis的进程号,之后kill -9 redis进程号进行杀除

3. Redis的数据结构

Redis是一个基于内存的键值存储(Key-Value Store),其中key是字符串类型value有五种常见的数据类型:

1.字符串String     2.哈希hash     3.列表list     4.集合set     5.有序集合sorted set

数据结构解析图如下:

5cda135ecbe44ad08fe0cc07eb3fdb30.jpeg

string 普通字符串常用

 

hash 适用与存储对象

 

list 按照插入顺序排序,可以有重复的元素

 

set 无序集合,没有重复的元素

 

sorted set 有序集合,没有重复的元素

4. Redis的操作命令及通用命令

4.1 字符串String操作命令

SET key value     设置指定key的值

 

GET key               获取指定key的值

 

SETEX key seconds value     设置指定的key值,并将可以的过期时间设置为seconds秒(常用于设置验证码)

 

SETNX key value    只有在key不存在时才会设置key

4.2 哈希hash操作命令

HSET key field value    将哈希表key中的字段field设置为value

 

HGET key field             获取存储在哈希表中的指定字段

 

HDEL key field              删除存在哈希表中的指定字段

 

HEYS key                     获取哈希表中的所有字段

 

HVALUS key                 获取哈希表中的所有值

 

HGETALL  key              获取在哈希表中指定key的所有字段和值

4.3 列表list操作命令

LPUSH key value [value]         将一个或多个值插入到列表头部

 

LRANGE key start stop            获取列表指定范围内的元素

 

RPOP   key                              移除并获取列表最后一个元素

 

LLEN   key                                获取列表的长度

 

BRPOR key1 [key2]  timeout    移除并获取列表最后一个元素,如果列表没有元素直到等待超时或发现可弹出元素为之

4.4 集合set操作命令

SADD key  member [member]       向集合中添加一个或多个元素

 

SMEMBERS   key                          返回集合中的所有元素

 

SCARD    key                                 获取集合的元素数

 

SINTER    key1  [key2]                   返回给定集合的交集

 

SUNION   key1 [key2]                    返回所有给定集合的并集

 

SDIFF   key1   [key2]                     返回给定所有集合的差集

 

SREM  key   member [member]   移除集合中一个或多个元素

4.5 集合Sorted set操作命令

Redis Sorted Set有序集合是String类型的元素的集合,且不允许重复的元素。每个元素都会关联一个double类型的分数。redis正是通过分数来为集合的元素进行从小到达的排序。有序集合的元素是唯一的,但是分数却可以重复。

ZADD  key score1 member [score2 member] 

向有序集合中添加一个或多个元素,或更新已有元素的分数

 

ZRANGE key  start  stop  [WITHSCORES]  

通过索引区间返回有序集合指定区间的元素

 

ZINCRBY key  increment  member

有序集合中指定元素的分数加上增量increment

 

ZREM  key  member  [member...]  

移除有序集合的一个或多个元素

4.6 通用命令

KEY   pattern                     查找所有符合给定模式pattern的key

 

EXISTS   key                     检查给定的key是否存在

 

TYPE   key                        返回key所存储的值的类型

 

TTL   key                           返回给定key的剩余生存时间,以秒为单位

 

DEL    key                         该命令用于在key存在时删除key

5. Redis的图形化界面软件

Another Redis Desktop Manager | 更快、更好、更稳定的Redis桌面(GUI)管理客户端,兼容Windows、Mac、Linux,性能出众,轻松加载海量键值 (goanother.com)https://goanother.com/cn/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值