Redis系列之Redis入门级(带你初步认识Redis)

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis系列之Redis入门级(带你初步认识Redis)


前言

       今天与大家分享一个新的知识点,它就是Redis,它和我们之前学的数据库有些类似,但又有些不同。他和数据库一样是用来存储数据的。让我们一起去来探索关于它的奥秘吧。

一、Redis简介

1. 基本概述

        Redis是一个使用C语言编写的开源的key-value存储系统,它可以用作数据库、缓存和消息中间件等场景。与MySQL等使用二维表格形式存储数据的数据库不同,Redis使用key-value的形式存储数据。

       它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。

安装包:

redis-5.0.0.tar.gz(linux)
Redis-x64-3.2.100.msi(window安装版)
Redis-x64-3.2.100.zip(window解压版)

2. 基本用途

Redis的用途比较广泛,基本用途如下:

  1. 缓存:这是Redis最广为人知的使用场景。通过使用Redis作为缓存,可以提高应用的性能和响应速度。
  2. 数据库:Redis可以作为数据库,存储和管理数据。由于其高性能和原子性操作,Redis在需要高并发访问的数据存储场景中表现出色。
  3. 消息队列:Redis可以作为简单的消息队列使用,实现异步任务和消息推送。这有助于解耦和优化应用程序的处理流程。
  4. 会话共享:在集群模式下,Redis可以用于保存和共享会话信息,确保用户在任何一台服务器上登录时,都能获取到对应的会话信息。
  5. 排行榜:Redis支持对集合进行操作,这使得它可以用来实现排行榜功能。
  6. 计数器:Redis的计数器功能可以帮助我们统计文章被点赞、评论的次数等。
  7. 分布式锁:Redis的setnx命令可以用于实现分布式锁。
  8. 分布式协同过滤:Redis的分布式协同过滤算法可以用于推荐系统、防止恶意请求等。

这就是Redis的一些基本的用途,但是具体的使用用途要根据使用的场景来决定。

3. 应用场景

Redis的基本应用场景

应用场景 说明
缓存热点数据 例如报表和明星出轨等,通过使用Redis进行缓存,可以提升热点数据的访问速度。
数据共享分布式 Redis是分布式的独立服务,可以在多个应用之间共享数据,例如分布式Session。
计数器 例如统计文章被点赞、评论的次数等。
会话共享 在集群模式下,Redis可以用于保存和共享会话信息,确保用户在任何一台服务器上登录时,都能获取到对应的会话信息。
排行榜 Redis支持对集合进行操作,这使得它可以用来实现排行榜功能。
分布式锁 Redis的setnx命令可以用于实现分布式锁。
分布式协同过滤 Redis的分布式协同过滤算法可以用于推荐系统、防止恶意请求等。

二、安装Redis

1.安装客户端

       点击安装包,傻瓜式一键下一步点击到底即可

2. Linux系统

1.1 导入安装包

       将安装包导入到我们要安装的目录下

1.2 解压安装包

       输入指令解压安装包

指令:tar -xvf redis-5.0.0.tar.g

1.3 准备配置Redis

       进入解压好的文件夹目录下(redis-5.0.0)下输入make指令进行安装redis实际上是编译redis;然后我们检查安装环境输入指令:make install回车即可;在此我们还要安装一个gcc插件,方便后续使用,指令:yum install gcc。

编译redis

检查安装情况

安装gcc

1.4 启动Redis

       输入指令: ./src/redis-server redis.conf 进行启动

1.5 配置Redis相关文件

修改redis.conf文件

       将文件中的daemonize no修改为daemonize yes

按住ctrl+c退出启动,先将文件进行备份一下输入指令:cp redis.conf redis_bak.conf 即可,输入vim redis.conf 进入文件并进行编辑,输入"/" 然后"关键字" 再enter;"n"指找下一个;查找到指定位置按i进行编辑,最后:wq进行保存并退出

验证

       编辑好之后重新启动redis,然后输入 lsof -i:6379进行查看redis端口是否在使用,然后进行连接,输入指令:./src/redis-cli回车,在输入ping回车,出现PONG代表Redis安装完成。

       在执行上述操作前先要输入 yum install -y lsof安装lsof插件。

1.6 配置端口主机访问

        先将开启的进行端口停止掉输入指令:kill -9 进程pid再次查看你端口状态看看是否关闭,没有显示说明关闭成功。在redis.conf中放开本地端口,然后去设置redis密码,最后再防火墙开发一个6379端口号提供给祖籍访问

停止进程

配置端口及设置密码

开发端口主机访问

指令:

  1. firewall-cmd --zone=public --add-port=6379/tcp --permanent  ---->打开端口
  2. firewall-cmd --reload && firewall-cmd --list-port   --->刷新状态并查看信息

开设之后,再去启动我们的服务。

        开启服务,重新使用我们设置的密码登陆开启

指令:#4.客户端redis-cli链接redis,重新测试

./src/redis-cli -h 端口号-p 接口-a 密码

 

主机客户端连接

3. Windos系统

       首先将安装压缩包进行解压,然后编写一个.bat文件放到解压目录下,点击该文件运行即可安装,设置密码及端口与Linux系统一致,在redis.windows.conf文件中修改

redis.bat

cd Redis-x64-3.2.100
redis-server redis.windows.conf

运行后的结果

设置端口及密码

三、Redis常用命令

select +数字  ---->代表着使用的是第几个数据库

1.Redis字符串(String)

1.1 添加数据

语法:

set 变量名 值

客户端查看数据

1.2 根据变量获取值

语法:

get 变量名

1.3 查看数据类型

语法:

type变量名

1.4 查看所有key或指定的key

语法:

keys *     --->所有

keys 指定的key  --定的key

1.5 其他的语句

# SETEX KEY_NAME TIMEOUT VALUE    // 给键值对设置过期时间

# ttl key    // 获取键值对剩余的存活时间

2.Redis哈希(Hash)

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

2.1 添加值

hset key field1 value1 [field2 value2] #同时将多个field-value设置到哈希表key中

hset user name zs age 12 sex nv  -->案例

2.2 获取指定的值

hget key field  ---->    #获取指定的字段值

2.3 删除指定的字段值

hdel user age   ------>#删除指定的字段值

2.4 其他语法

hgetall key                            #查询指定key的所有

hexists key field                      #查询指定key中的字段是否存在

hlen key                                #获取指定key中的长度

3.  Redis列表(List)

       Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

3.1 添加数据

lpush key value1 value2 value3         #将一个或多个值插入到列表头部

案例:lpush en a b c d e f g

3.2 获取数据

lindex key index                       #根据索引获取列表中的元素

案例:lindex en 1          注:#返回f,说明下标从0开始,同时先进后出

lrange key start sop                    #查看指定范围内的元素

案例:lrange en 1 3           注:#返回fed,说明下标从0开始,同时先进后出

3.3 其他语法

llen key                                #获取列表的长度

4.  Redis集合(Set)

       Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

语法如下(大家自行演示)

# sadd key value1 [value2]                #向集合添加一个或多个元素

# scard key                              #获取集合中的元素数量

# exists key                             #是否存在

今天的分享到此结束,记得关注加三连哦

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
6月前
|
存储 NoSQL Linux
【Redis 系列】redis 学习二
【Redis 系列】redis 学习二
|
15天前
|
存储 NoSQL 测试技术
【Redis】redis为什么快
【Redis】redis为什么快
|
NoSQL 安全 Linux
【Redis入门】在阿里云上快速安装 Redis
如果你最近打算学习 redis 并且买了阿里云的 Linux 服务器,那么借助阿里云服务器和宝塔Linux面板,只需要简单几步就可以安装好 redis。
1006 0
【Redis入门】在阿里云上快速安装 Redis
|
10天前
|
存储 NoSQL Redis
【Redis系列笔记】Redis总结
Redis是一个基于内存的 key-value 结构数据库。 Redis 是互联网技术领域使用最为广泛的存储中间件。 Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供的数据是可以达到100000+的QPS(每秒内查询次数)。 它存储的value类型比较丰富,也被称为结构化的NoSql数据库。
62 0
|
2月前
|
存储 SQL NoSQL
[Redis]——初识Redis
[Redis]——初识Redis
|
7月前
|
NoSQL Redis 数据库
29Redis - redis使用场景
29Redis - redis使用场景
39 0
|
7月前
|
NoSQL Redis
06Redis - Redis的使用
06Redis - Redis的使用
35 0
|
7月前
|
存储 NoSQL Linux
Redis之Redis为什么这么快解读
Redis之Redis为什么这么快解读
|
9月前
|
存储 消息中间件 缓存
Redis 学习 | Redis 初识与安装
Redis 学习 | Redis 初识与安装
|
存储 缓存 NoSQL
你不知道的Redis一-Redis入门
你不知道的Redis一-Redis入门
80 0