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

这篇具有很好参考价值的文章主要介绍了【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 redis01
OK
127.0.0.1:6379> client getname
"redis01"

1.2.查看客户端信息

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

127.0.0.1:6379> client list
id=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
# Server
redis_version:6.2.12
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:65331e5b3926860f
redis_mode:standalone
os:Linux 4.19.12-1.el7.elrepo.x86_64 x86_64
arch_bits:64
monotonic_clock:POSIX clock_gettime
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:4.8.5
process_id:1364
process_supervised:no
run_id:f8d152a7d5084861b459def410600788c6f1f653
tcp_port:6379
server_time_usec:1687343636684564
uptime_in_seconds:27619
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:9622036
executable:/root/redis-6.2.12/redis-server
config_file:/root/redis-6.2.12/redis.conf
io_threads_active:0

2.2.查看客户端连接情况

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

127.0.0.1:6379> info Clients
# Clients
connected_clients:1
cluster_connections:0
maxclients:10000
client_recent_max_input_buffer:24
client_recent_max_output_buffer:0
blocked_clients:0
tracking_clients:0
clients_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 maxclients
1) "maxclients"
2) "10000"

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

127.0.0.1:6379> info Stats

instantaneous_ops_per_sec:0

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

2.5.观察内存用量

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

127.0.0.1:6379> info memory

used_memory_human:858.02K
used_memory_peak_human:912.77K
used_memory_lua_human:30.00K
used_memory_scripts_human:0B
mem_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 set
1) 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 400
1) "name004"
2) "age004"
127.0.0.1:6379> COMMAND GETKEYS set name005 005
1) "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 123456
OK
127.0.0.1:6379> config rewrite

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

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

连接远端服务器:文章来源地址https://www.toymoban.com/news/detail-585545.html

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

到了这里,关于【2023】Redis服务器与客户端操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务器异步客户端

    internal class MessageManagerT:SingletonMessageManagerT {     Dictionaryint, ActionT MsgDic = new Dictionaryint, ActionT();     public void OnAddListen(int id,ActionT action)     {         if(MsgDic.ContainsKey(id))         {             MsgDic[id] += action;         }         else         {             MsgDic.Add(id, ac

    2024年04月09日
    浏览(41)
  • ZeroTier客户端连接服务器

    ZeroTier客户端连接服务器 下载客户端 https://www.zerotier.com/download/ 加入新的网络(例如d5e04297a16fa690,由管理员提供) 管理员授权并告知服务器IP 测试连接:ping 服务器IP 使用putty, pycharm, vscode等工具连接即可 官方文档 https://docs.zerotier.com/getting-started/getting-started 注: 若路由器无法

    2024年02月09日
    浏览(34)
  • UDP客户端和服务器

    UDP客户端,也就是首先主动发送数据的一方,也就是发起服务请求的一方。 UDP服务器,也就是首先等待接收数据,并对接收的数据进行处理,返回计算结果的一方,也就是提供服务的一方。 在下面实验中使用到的函数 测试代码  UDP接收端(服务器) 执行代码:    实验解析 

    2024年02月13日
    浏览(73)
  • UDP通讯(服务器/客户端)

    前言:UDP通讯实现比较简单,单某些情况下也会使用,建议先看一下说明,然后运行代码感受一下。         传输层主要应用的协议模型有两种,一种是TCP协议,另外一种则是UDP协议。TCP协议在网络通信中占主导地位,绝大多数的网络通信借助TCP协议完成数据传输。但U

    2024年02月03日
    浏览(48)
  • Java 构建websocket客户端,构建wss客户端,使用wss连接,并发送数据到服务器端,接收服务器端消息

    Java 构建websocket客户端,构建wss客户端,使用wss连接,并发送数据到服务器端,接收服务器端消息 回调函数处理

    2024年02月13日
    浏览(45)
  • netty构建udp服务器以及发送报文到客户端客户端详细案例

    目录 一、基于netty创建udp服务端以及对应通道设置关键 二、发送数据 三、netty中的ChannelOption常用参数说明 1、ChannelOption.SO_BACKLOG 2、ChannelOption.SO_REUSEADDR 3、ChannelOption.SO_KEEPALIVE 4、ChannelOption.SO_SNDBUF和ChannelOption.SO_RCVBUF 5、ChannelOption.SO_LINGER 6、ChannelOption.TCP_NODELAY 以上代码中

    2024年04月09日
    浏览(50)
  • 爬虫——服务器渲染和客户端渲染

    目录 爬虫——服务器渲染和客户端渲染 服务器渲染 客户端渲染 专业解释 服务器渲染(Server-Side Rendering,SSR)是一种在服务器端完成页面渲染的网页处理技术。具体来说,就是服务器在响应客户端请求时,会生成页面的HTML代码,并将其返回给客户端。这种方式的优点包括更

    2024年02月06日
    浏览(45)
  • TDengine服务器与客户端安装

    TDengine官网: https://docs.taosdata.com/get-started/package/ https://www.taosdata.com/assets-download/3.0/TDengine-server-3.0.4.1-Linux-x64.tar.gz tar -zxvf TDengine-server- version -Linux-x64.tar.gz tar -zxvf TDengine-server-3.0.4.1-Linux-x64.tar.gz 安装脚本在执行过程中,会通过命令行交互界面询问一些配置信息。如果希望采取无

    2024年02月05日
    浏览(44)
  • 1.6 服务器处理客户端请求

    客户端进程向服务器进程发送一段文本(MySQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果)。 从图中我们可以看出,服务器程序处理来自客户端的查询请求大致需要经过三个部分,分别是 连接管理 、 解析与优化 、 存储引擎 。 客户端进程可以采用我

    2024年02月11日
    浏览(27)
  • 【网络】UDP通讯(服务器/客户端)

    前言:UDP通讯实现比较简单,单某些情况下也会使用,建议先看一下说明,然后运行代码感受一下。         传输层主要应用的协议模型有两种,一种是TCP协议,另外一种则是UDP协议。TCP协议在网络通信中占主导地位,绝大多数的网络通信借助TCP协议完成数据传输。但U

    2024年02月12日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包