文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-09-07 15:01

关注

目录

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

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

通过本节给出的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

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"

之前在启动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

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

连接远端服务器:

redis-cli -h > -p > -P > -u > -p >

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

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯