小白带你学习linux的Redis基础(三十二)

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 小白带你学习linux的Redis基础(三十二)



前言

Redis(REmote DIctionary Server)是一个开源的内存数据库,它支持存储和检索键值对。Redis被广泛应用于各种场景,如缓存、消息队列、计数器、分布式锁等。

Redis的特点包括:

  1. 内存数据存储:Redis将所有数据都存储在内存中,以实现快速的读写操作。
  2. 数据持久性:Redis可以将数据持久化到硬盘中,以防止数据丢失。
  3. 多种数据结构支持:Redis支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等,使得它可以处理各种不同类型的数据。
  4. 高性能:由于数据存储在内存中,Redis能够以非常高的速度读取和写入数据。
  5. 分布式:Redis支持主从复制和分片,可以实现数据的高可用和横向扩展。
  6. 支持事务:Redis支持简单的事务操作,保证多个操作的原子性。
  7. 发布/订阅模式:Redis支持发布/订阅模式,可以用于实现消息队列。

总之,Redis是一个高性能、灵活和可扩展的数据库,它在许多大规模互联网应用中被广泛使用。

一、概述

1、NoSQL

非关系型数据库

内存存储

类型

文档型数据库(Document-oriented database)如MongoDB;

列族数据库(Column-family database)如HBase、Cassandra等;

图形数据库(Graph database)如Neo4j、ArangoDB等;

键值对数据库(Key-value database)如Redis、Memcached等;

对象数据库(Object-oriented database)如db4o等。

应用场景

缓存:Redis最常用的应用场景就是缓存,它可以缓存各种类型的数据,如数据库查询结果、API返回结果等,以提高应用程序的响应速度和并发性能。

分布式锁:Redis的分布式锁可以确保在分布式系统中对某个资源的互斥访问,避免多个节点出现并发操作的问题。

计数器:Redis支持对计数器的操作,能够方便地实现各种计数器的功能,如网站访问次数计数、订单数量计数等。

会话管理:Redis可以用来管理会话信息,实现会话的状态存储和共享,避免了单点故障的问题。

消息队列:Redis支持发布订阅模式,可以作为一个轻量级的消息队列使用,实现异步消息理和任务派发等功能。

2、Redis

Remote Dictionary Server       远程字典服务

官网        https://www.redis.net.cn/

内存存储、持久化

键值对存储

监听端口号      6379

数据类型

字符串(string)

哈希值(hash)

列表(list)

集合(set)

位图(bitmap)

二、安装

1、基础配置

关闭防火墙,更改宽容模式,配置IP地址能联通网络

配置IP网卡重启网络

vim /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network

关闭防火墙,改为宽容模式

systemctl stop firewalld
setenforce 0

能连上网即可

2、编译安装

wget http://download.redis.io/releases/redis-5.0.8.tar.gz
make && make install

3、RPM安装网络源安装

yum install -y epel-release
yum install -y redis

启动

systemctl start redis
netstat -anptu | grep redis

 默认监听127.0.0.1地址

三、目录结构

1、rpm  -ql redis

2、/etc/redis.conf

主配置文件

bind 127.0.0.1  修改监听地址
port 6379  修改监听端口号
pidfile   指定通过该配置文件启动    reids进程后的PID文件名称
loglevel  定义日志级别
logfile  定义日志存储路径
databases    指定默认数据库数量
save      定义单位时间内key的改变次数
dbfilename  定义存储RDB持久化数据的文件名称
dir 定义RDB与AOF文件的存储目录
 appendonly  AOF的启停
appendfilename 定义AOF持久化文件的名称
appendfsync  定义AOF数据同步间隔
requirepass  设置登录redis的密码

/var/lib/redis                  持久化文件存储目录

/var/log/redis                 日志文件存储目录

/var/run/redis                  PID文件存储目录

四、命令解析

1、redis-server

vim /etc/redis.conf 
cp /etc/redis.conf  /opt/redis_6380.conf
vim /opt/redis_6380.conf 
redis-server /opt/redis_6380.conf 
!net

第一步

第二步cp

第三步port改为6380

第四步redis-server /opt/redis_6380.conf

第五步!net

redis启动命令

2、redis-cli

redis登录命令

-h            redis服务器IP

-p             指定访问端口号

-a             指定登录密码

-n             指定数据库编号

2、redis-check-rdb

检查RDB文件

3、redis-check-aof

检查AOF文件

五、redis登录更改

1、问题

更改完port后,systemctl启动redis异常

2、解决办法

理论上cp这个文件可以开启无限的进程

cp /etc/redis.conf  /opt/redis_6380.conf
vim /opt/redis_6380.conf

使用redis-server /opt/redis_6380.conf

开启的是前台进程如果要开启后台进程需要进行下一步

若要redis后台运需修改配置文件 daemonize yes

六、数据库操作

1、登录数据库

本地登录         监听回环地址              redis-cli

                      监听本地网卡地址      redis-cli -h IP -p 端口号

远程登录

基本部署条件需要一台服务器和客户端

客户端更改完配置安装软件

服务端需要更改配置文件

vim/etc/redis.conf

systemctl restart redis
netstat -anptu | grep redis

回到客户机输入命令 :redis-cli -h 192.168.28.100

回服务器设置一个密码重启一下服务器

回服务器进一下数据库

比如想换一下库

2、帮助信息

help 命令字

tab补齐

3、库操作

切换           select 数据库编号

4、数据操作

set           设置键值对

               set key value

keys         keys *             查看所有键的名称

                 keys 键名称     查看一个键是否存在

get             取出键值对

                 get 键

                  键不存在则返回空

del              删除键值对

                   del key

flushall          清空所有数据库中的数据(慎用)

rename         重命名键名称

                     不论更名后的键是否存在都会覆盖原有键,并将改名前的键的值赋予改名后的键

                    rename oldkey newkey

renamenx      重命名键名称

                      假如改名后键名称存在则更改不成功

                      renamenx oldkey newkey

move             移动键值对到指定数据库

                     move key dbnumber

                     假如目标数据库中存在同名键则移动失败

ttl                   查看键值对的生命周期

                     ttl key              -1   永久    -2     已过期

expire         设置键值对的存储周期

                   expire key seconds

七、redis持久化

1、RDB模式

默认持久化

dump.rdb         数据库启动时会读取

触发条件        redis进程退出                      宕机

                                                                  redis程序崩溃

                       手动保存(触发RDB)       save

2、AOF模式

默认关闭

appendonly.aof          默认进程启动时读取

开启           appendonly  yes

数据库创建用户

查看一下文件

开启aof系统就不读取dump.rdb

可以与RDB同时使用

相关实践学习
基于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
相关文章
|
16天前
|
存储 安全 Linux
|
18天前
|
Linux Shell 数据安全/隐私保护
|
1月前
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
123 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
1月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
238 3
|
1月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
1月前
|
NoSQL Java Redis
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
这篇文章介绍了如何使用Spring Boot整合Apache Shiro框架进行后端开发,包括认证和授权流程,并使用Redis存储Token以及MD5加密用户密码。
30 0
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
|
1月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
1月前
|
NoSQL Redis
redis学习五、错误总结,redis正常运行时后会出现一些bug 总结。
本文介绍了Redis在正常运行时可能遇到的一个错误,即无法进行磁盘持久化的问题,并提供了通过设置`stop-writes-on-bgsave-error`为`no`来解决这一问题的方案。
94 0
|
Linux 开发工具 Shell