我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【2023】Redis服务器与客户端操作

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【2023】Redis服务器与客户端操作

目录

Redis命令的大致运行流程是,由客户端向服务器发起命令,在服务器运行该命令,得到结果后再把结果返回给客户端。
在实际项目的场景里,一方面可能会通过各种命令观察服务器的配置和运行状态,以此排查和分析实际的问题,另一方面还有可能通过修改各种配置来实现调优的效果。此外,客户端和服务器的对应关系更有可能是一对多的,即多个客户端同时连到一台服务器上。在本文里,将围绕上述实践要点给出Redis服务器和客户端的常用命令以及实践技能。

1.Redis服务器管理客户端命令

1.1.获取和设置客户端名字

可以通过client getname命令来获取客户端的名字,也可以通过client setname命令来设置客户端的名字。

127.0.0.1:6379> client getname(nil)127.0.0.1:6379> client setname redis01OK127.0.0.1:6379> client getname"redis01"

1.2.查看客户端信息

通过client list命令能看到当前所有连接到服务器的客户端信息

127.0.0.1:6379> client listid=3 addr=127.0.0.1:47312 laddr=127.0.0.1:6379 fd=9 name=redis01 age=24364 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=26 qbuf-free=40928 argv-mem=10 obl=0 oll=0 omem=0 tot-mem=61466 events=r cmd=client user=default redir=-1
  • id表示客户端编号
  • addr表示客户端地址
  • age表示客户端连接时长,单位为秒
  • idle表示客户端空闲时长,单位为秒
  • db表示客户端用到的服务器的数据库索引号,默认每个Redis服务器有16个数据库,而且默认会使用0号数据库。
  • cmd表示客户端最新执行的命令
  • user表示登录服务器用到的用户名

1.3.暂停客户端

如果当前Redis服务器负载过大,就可以通过client pause命令暂停执行来自客户端的命令

client pause timeout

timeout表示暂停的时间,单位为毫秒

1.4.中断客户端连接

client kill [ip:port]

使用时可先使用client list查看客户端ip及端口

1.5.关闭服务器及客户端

shutdown命令会终止服务器上的所有客户端连接,并终止服务器。

127.0.0.1:6379> shutdown

2.查看服务器信息

通过本节给出的info等命令,大家不仅能查看服务器的详细信息,还能观察到服务器所包含命令的详细信息。遇到问题时,可以先用info命令查看客户端、CPU和内存等的相关数据,这样或许能看到一些问题的线索。

2.1.查看服务器信息

通过info命令能查看当前服务器server部分的相关信息

127.0.0.1:6379> info# Serverredis_version:6.2.12redis_git_sha1:00000000redis_git_dirty:0redis_build_id:65331e5b3926860fredis_mode:standaloneos:Linux 4.19.12-1.el7.elrepo.x86_64 x86_64arch_bits:64monotonic_clock:POSIX clock_gettimemultiplexing_api:epollatomicvar_api:atomic-builtingcc_version:4.8.5process_id:1364process_supervised:norun_id:f8d152a7d5084861b459def410600788c6f1f653tcp_port:6379server_time_usec:1687343636684564uptime_in_seconds:27619uptime_in_days:0hz:10configured_hz:10lru_clock:9622036executable:/root/redis-6.2.12/redis-serverconfig_file:/root/redis-6.2.12/redis.confio_threads_active:0

2.2.查看客户端连接情况

在info后面加上Clients参数就能看到客户端的连接状况

127.0.0.1:6379> info Clients# Clientsconnected_clients:1cluster_connections:0maxclients:10000client_recent_max_input_buffer:24client_recent_max_output_buffer:0blocked_clients:0tracking_clients:0clients_in_timeout_table:0

connected_clients:1表示正在连接的客户端数量

2.3.观察最大连接数

运行info Stat命令,在返回结果里有一项rejected_connections,表示因超过最大连接数而被拒绝的客户端连接次数,如果该数值很大,就说明有大量的客户端无法连接上,这可能会影响性能。

127.0.0.1:6379> info Stats

可以增大"maxclients"参数
可通过config get maxclients查看最大连接数

127.0.0.1:6379> config get maxclients1) "maxclients"2) "10000"

2.4.查看每秒执行多少指令

127.0.0.1:6379> info Statsinstantaneous_ops_per_sec:0

返回结果里有一项表示当前每秒执行多少指令的instantaneous_ops_per_sec参数

2.5.观察内存用量

可以通过info memory命令观察当前Redis服务器的内存使用情况

127.0.0.1:6379> info memoryused_memory_human:858.02Kused_memory_peak_human:912.77Kused_memory_lua_human:30.00Kused_memory_scripts_human:0Bmem_clients_slaves:0
  • used_memory_human,该参数表示操作系统分配给Redis多少内存。
  • used_memory_peak_human,该参数表示Redis服务器用到的内存峰值。
  • used_memory_lua_human,该参数表示lua脚本所占用的内存用量。
  • used_memory_scripts_human,该参数表示脚本所占用的内存用量。
  • mem_clients_slaves,该参数表示因客户端主从复制而使用的内存用量。

2.6.查看Redis命令

command命令会返回Redis命令的信息

127.0.0.1:6379> command -

统计当前Redis服务器命令个数

127.0.0.1:6379> command count

2.7.查看指定命令详细信息

可以通过command info命令查看指定命令的详细信息

command info key [key...]
127.0.0.1:6379> COMMAND INFO set1) 1) "set"   2) (integer) -3   3) 1) write      2) denyoom   4) (integer) 1   5) (integer) 1   6) (integer) 1   7) 1) @write      2) @string      3) @slow

2.8.获得指定命令所有键

通过command getkeys命令能获取指定命令的所有键

127.0.0.1:6379> COMMAND GETKEYS mset name004 004 age004 4001) "name004"2) "age004"127.0.0.1:6379> COMMAND GETKEYS set name005 0051) "name005"

3.查看并修改服务器常用配置

之前在启动Redis服务器时用到的都是默认的配置,所以连接密码和端口等参数都是默认的。除此之外,还能通过命令来修改服务器的配置,从而实现基于项目的定制化效果。

3.1.查看服务器配置

可以通过config get命令来查看服务器的配置

config get *config get p*

第一行是查看所有配置
第二行是查看以p开头的配置

3.2.设置密码

通过config set命令能修改服务器的配置

127.0.0.1:6379> CONFIG SET requirepass 123456

通过命令修改无需重启即可生效,但会在重启后失效

登陆后输入auth 123456即可操作

3.3.改写Redis配置文件

config set命令修改的配置项会在Redis服务器重启后失效,如果想让修改后的配置项一直生效,则需要在config set命令后运行config rewrite命令

127.0.0.1:6379> config set requirepass 123456OK127.0.0.1:6379> config rewrite

4.多个客户端连接远端服务器

在之前的范例中,Redis服务器和客户端是在同一个Docker容器中的,即用本地的Redis客户端连接本地的Redis服务器。在实际的项目里,作为Redis客户端的应用程序往往会连接到远端(非本地)的Redis服务器上,而且一个Redis服务器上会有多个Redis客户端连接。

连接远端服务器:

redis-cli -h > -p > -P > -u > -p >
  • host:服务器IP地址
  • port:服务器端口
  • db:服务器数据库号
  • username、password:使用者身份验证

来源地址:https://blog.csdn.net/qq_42527269/article/details/131332124

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【2023】Redis服务器与客户端操作

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Redis客户端操作

client list客户端相关信息:fd: socket文件描述符qbuf: 输入缓冲区(作用:临时存储客户端发送的命令)注:单个客户端输入缓冲区大小超过1G会被关闭。缓冲区+内存存储量超过maxmemory会出现数据丢失、键淘汰及OOM现象。通过clien
Redis客户端操作
2021-02-25

python thrift 服务端与客户

一、简介   thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#
2023-01-31

自己动手写一个能操作redis的客户端

作者:孤独烟 来源:微信订阅号(程序员孤独烟)原文链接:https://mp.weixin.qq.com/s/IBynkex-FHhvJ3tmizvJhA 引言redis大家在项目中经常会使用到。官网也提供了多语言的客户端供大家操作redi
2023-06-05

Java客户端利用Jedis操作redis缓存示例代码

前言Redis是一个开源的Key-Value数据缓存,和Memcached类似。Redis多种类型的value,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型
2023-05-31

Mysql运维---客户端与服务器模型

一、MySQL客户端与服务器模型  1、mysql是一个典型的C/S服务结构      1.1 mysql自带的客户端程序(/application/mysql/bin)      mysql      mysqladmin      mysqldump   
Mysql运维---客户端与服务器模型
2018-02-11

香港服务器租用亚马逊云客户端怎么操作

1.选择亚马逊云服务首先,您需要前往亚马逊云服务的官方网站并注册一个账户。在注册完成后,您可以选择租用一个云服务器实例。2.选择服务器配置在选择服务器实例时,您需要根据您的需求选择适当的配置。您可以选择不同的操作系统、处理器、内存、存储和网络配置。3.创建云服务器实例在选择完服务器配置后,您需要创建一个云服务器实例。在创建实例时,您需要选择服务器的地理位置、安全组、存储和其他配置。4.连接云服务器一旦您创...
2023-10-27

MySQL 客户端服务器端帮助

让我们了解 MySQL 客户端-服务器端帮助 -mysql> help search_string如果为上述“help”命令提供了参数,mysql将使用它作为搜索字符串来访问MySQL参考手册内容中的服务器端帮助。该命令的正确操作需要使用帮
2023-10-22

python客户端与服务器端通信怎么实现

使用套接字进行Python客户端和服务器端通信分四步:创建服务器端、创建客户端端、发送和接收数据,关闭连接。示例代码展示了如何使用套接字在服务器端和客户端端之间建立连接、发送和接收数据。包括其他注意事项,例如防火墙配置、数据序列化和错误处理。
python客户端与服务器端通信怎么实现
2024-04-12

python客户端与服务器端通信怎么实现

Python客户端与服务器端通信可以通过套接字(socket)实现。1. 服务器端首先需要创建一个套接字,并绑定到指定的IP地址和端口上:```pythonimport socket# 创建一个套接字对象server_socket = so
2023-09-08

Android TCP 文件客户端与服务器DEMO介绍

主要功能是: 1、TCP服务器提供文件下载服务,服务器支持多线程。 2、TCP Client从服务器上下载指定的文件,Client也支持多线程。 首先是服务器,服务器是在PC机上,JAVA运行环境,主要参考网上的代码,自己做了支持多线程处理
2022-06-06

【JavaEE初阶】 TCP服务器与客户端的搭建

文章目录 🌲前言🌴ServerSocket API🎄Socket API🍀TCP中的长短连接🎍建立TCP回显客户端与服务器🚩TCP搭建服
【JavaEE初阶】 TCP服务器与客户端的搭建
2023-12-22

如何使用java实现客户端与服务器

小编给大家分享一下如何使用java实现客户端与服务器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java可以用来干什么Java主要应用于:1. web开发;2.
2023-06-14

java客户端中如何使用Jedis实现操作Redis Sentinel 连接池

这篇文章给大家介绍java客户端中如何使用Jedis实现操作Redis Sentinel 连接池,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。pom.xml配置 org.s
2023-05-31

python服务器与android客户端socket通信实例

本文实例讲述了python服务器与android客户端socket通信的方法。分享给大家供大家参考。具体实现方法如下: 首先,服务器端使用python完成,下面为python代码:代码如下:#server.py import socke
2022-06-06

python3中实现客户端与服务端交互发

在python3中实现客户端与服务端程序交互,从客户端发送文件到服务端客户端代码:client.py#!/usr/bin/env python#_*_ encoding=utf-8 _*_import socket,sys,osip_por
2023-01-31

Golang笔记:使用ssh包作为客户端与SSH服务器交互

文章目录 目的基础说明使用演示单次通讯连续通讯(远程终端) 总结 目的 Golang中可以使用 golang.org/x/crypto/ssh 包作为SSH客户端或者SSH服务使用。这篇文章将简单记录下作为客户端使用的一些内
2023-08-30

编程热搜

目录