九五从零开始的运维之路(其三十二)

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 本篇将简述的内容:Linux系统下的Redis基础

前言

本篇将简述的内容:Linux系统下的Redis基础


一、概述

Redis(Remote Dictionary Server)是一个开源的高性能键值存储数据库,它是一种NoSQL数据库,常被用作缓存、消息队列和数据存储等场景。它支持多种数据结构,如字符串、哈希、列表、集合和有序集合,并提供了丰富的操作和功能。

内存数据结构存储系统

特点:速度快、支持丰富的数据结构、提供多种持久化方式、支持分布式

用途有缓存、计数器、分布式锁、消息队列


应用场景

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

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

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

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

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


监听端口号

6379

数据类型

字符串(string)

哈希值(hash)

列表(list)

集合(set)

位图(bitmap)


二、安装

配置基础环境


1.编译安装

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


2.RPM安装

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


启动


systemctl start redis


默认监听127.0.0.1地址


三、目录结构

yum安装

查询目录结构


rpm  -ql redis


/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文件存储目录

四、命令解析

redis启动命令


redis-server /path/redis.conf


redis登录命令


redis-cli -h


redis服务器IP

redis-cli -p
1

指定访问端口号


redis-cli -a

redis-cli -a


指定登录密码


redis-cli -n


指定数据库编号


检查RDB文件


redis-check-rdb dump.rdb

检查AOF文件


redis-check-aof appendonly.aof


五、redis登录更改

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

解决办法:

使用redis-server /etc/redis.conf

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


六、数据库操作

登录数据库


1.本地登录

(一)监听回环地址

redis-cli


(二)监听本地网卡地址

redis-cli -h IP -p 端口号


2.远程登录

帮助信息

help 命令字

tab补齐

库操作与数据操作


(一)切换数据库

select 数据库编号


(二)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

-1:永久

-2:已过期


(十一)expire:设置键值对的存储周期

expire key seconds


七、Redis持久化

持久化类型


1.RDB模式

默认持久化

文件名dump.rdb

数据库启动时会读取

触发条件:

edis进程退出:宕机或redis程序崩溃

手动保存(触发RDB):save


2.AOF模式

默认关闭

文件名appendonly.aof

默认进程启动时读取

可在主配置文件内开启


appendonly  yes


可以与RDB同时使用


总结

Redis是一个功能强大的内存数据结构存储系统,具有高性能、高可用性和丰富的功能特性。在Linux系统下使用Redis,需要了解Redis的安装和启动、数据结构、持久化、主从复制、发布订阅、性能优化和安全性等方面的知识。通过合理的配置和使用Redis,可以提高系统的性能和可靠性。

相关实践学习
基于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
目录
相关文章
|
11月前
|
运维 Java 应用服务中间件
九五从零开始的运维之路(其十九)
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 Tomcat虚拟主机是通过linux或windows操作系统下进行独立运行的一个网站发布容器,他是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。
78 0
|
11月前
|
SQL 运维 关系型数据库
|
11月前
|
运维 关系型数据库 MySQL
九五从零开始的运维之路(其三十五)
MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点的问题。 MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。
66 2
|
11月前
|
监控 Linux 网络安全
Linux系统下的keepalived双机热备
在一个 LVS 服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但 是对外表现为一个虚拟 IP,主服务器会发送 VRRP 通告信息给备份服务器,当备份服务器收不到 VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟 IP,继续提供服务,从而保证了高可用性。
149 0
|
11月前
|
运维 负载均衡 算法
九五从零开始的运维之路(其三十六)
(一)四层负载均衡器 四层负载均衡器也称为 4 层交换机,主要通过分析 IP 层及 TCP/UDP 层的流量实现基于 IP 加端口的负载均衡,如常见的 LVS、F5 等;
59 0
|
11月前
|
存储 运维 Linux
九五从零开始的运维之路(其三十一)
计划任务是在指定的时间间隔内自动执行的任务。在Linux系统中,常用的计划任务工具是crond(cron daemon)。用户可以通过创建计划任务来定期执行指定的命令或脚本。
60 0
|
11月前
|
存储 运维 关系型数据库
九五从零开始的运维之路(其二十九)
数据库备份是指将数据库中的数据、表格、视图、存储过程、触发器等信息备份到另一个地方,以便在数据库丢失或损坏时进行恢复。数据库备份是数据库管理中必不可少的一项工作,通过备份可以保护数据库中的数据和业务
70 0
|
11月前
|
运维 关系型数据库 MySQL
九五从零开始的运维之路(其二十八)
数据库用户权限管理是数据库系统中非常重要的一个方面,它用于控制不同用户访问和操作数据库的权限范围。数据库用户权限管理可以保护敏感数据和数据库结构,确保只有被授权的用户才可以操作和使用数据库,防止数据被修改或泄露,并最大程度地保证数据库的安全。为了保护数据库的安全性,合理管理MySQL服务用户的权限是至关重要的。
50 0
|
11月前
|
存储 SQL 运维
九五从零开始的运维之路(其二十七)(1)
排序查询:排序查询是通过SQL查询语句将所查询的结果按照指定的排序方式排列 升序(默认):ASC
160 0
|
1月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
52 4