จะตรวจสอบรุ่นอินสแตนซ์ของ redis ได้อย่างไร


169

วิธีการตรวจสอบรุ่นอินสแตนซ์ Redis?

ฉันพบในไซต์ Redisคำสั่งนี้:

$ redis- เซิร์ฟเวอร์

และควรให้ฉัน (ตามเว็บไซต์):

[28550] 01 Aug 19:29:28 # Warning: no config file specified, using the default config. In order to specify a config file use 'redis-server /path/to/redis.conf'
[28550] 01 Aug 19:29:28 * Server started, Redis version 2.2.12
[28550] 01 Aug 19:29:28 * The server is now ready to accept connections on port 6379
... and so forth ...

แต่ฉันได้รับสิ่งนี้แทน:

[8719] 04 Feb 14:51:09.009 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
[8719] 04 Feb 14:51:09.009 # Unable to set the max number of files limit to 10032 (Operation not permitted), setting the max clients configuration to 3984.
[8719] 04 Feb 14:51:09.009 # Creating Server TCP listening socket *:6379: bind: Address already in use

ซึ่งหมายความว่าฉันต้องกำหนดค่า แต่สิ่งที่ฉันต้องการคือรุ่น!

ดังนั้นฉันจะตรวจสอบรุ่นอินสแตนซ์ของ redis ได้อย่างไร

คำตอบ:


300

$ redis-server --version

ให้เวอร์ชั่นแก่คุณ


4
นี่ไม่ได้ให้เวอร์ชั่นที่คุณใช้งานอยู่ ฉันอัปเกรดเซิร์ฟเวอร์เป็น 3.2.8 ผ่าน yum และคำสั่งนี้แสดงเวอร์ชันใหม่ แต่เซิร์ฟเวอร์ต้องเริ่มต้นใหม่ด้วยตนเองเพื่อเปิดใช้งานเวอร์ชันใหม่ในขณะที่ INFO รายงานเวอร์ชันเก่าอย่างถูกต้อง
X-Cubed

2
@ X-Cubed ถูกต้อง ฉันประหลาดใจที่คำตอบที่ผิดนี้ได้รับการอัปเดตอย่างมาก
ด่าน

2
ประโยชน์จากการredis-server --versionก็คือว่ามันสามารถทำงานได้แม้ในขณะที่เซิร์ฟเวอร์จะลดลง (เช่นในท่อเจนกินส์เมื่อการทดสอบภาชนะ Redis) ในขณะที่redis-cli info <subinfo>จะประสบความสำเร็จเฉพาะในการตั้งค่าการทำงานที่สมบูรณ์กับredis-serverการทำงานและการตอบสนองและมีการเชื่อมต่อเครือข่ายระหว่างเปิดredis-cliและredis-server
mirekphd

156

INFOเรียกใช้คำสั่ง เวอร์ชันจะเป็นรายการแรกที่แสดง

ข้อดีของสิ่งนี้มากกว่าredis-server - รุ่นคือบางครั้งคุณไม่สามารถเข้าถึงเซิร์ฟเวอร์ (เช่นเมื่อคุณให้บริการบนคลาวด์) ซึ่งในกรณีนี้INFOเป็นตัวเลือกเดียวของคุณ


6
เมื่อ Redis ของคุณล้มเหลวในการเริ่มต้น - คุณไม่สามารถมีการเข้าถึงเซิร์ฟเวอร์: Could not connect to Redis at 127.0.0.1:6379: Connection refusedดังนั้นมันจะดีกว่าที่จะทราบว่าคุณ Redis-CLI และก็ถามผ่าน --version มี
gaRex

3
ให้ข้อมูลอื่น ๆ กับคุณมากมายเช่นคีย์ยอดฮิตคิดถึงและเวลาขึ้น
andrew pate

@markthegrea จุดที่ถูกต้องฉันอัพเดตคำตอบของฉันเนื่องจากบางคนไม่เห็นประโยชน์
Ofer Zelig

3
redis-cli INFO SERVER | grep redis_version
Andriy Tolstoy

16

มีสองคำสั่งซึ่งคุณสามารถใช้เพื่อตรวจสอบรุ่นของ Redis

    redis-server -v

หรือ

    redis-server --version

13

หากคุณต้องการทราบรุ่นของเซิร์ฟเวอร์ Redis ระยะไกลเพียงเชื่อมต่อกับเซิร์ฟเวอร์นั้นและออกคำสั่ง "เซิร์ฟเวอร์ข้อมูล" คุณจะได้รับสิ่งนี้:

...
redis_version:3.2.12
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:9c3b73db5f7822b7
redis_mode:standalone
os:Linux 2.6.32.43-tlinux-1.0.26-default x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.9.4
process_id:5034
run_id:a45b2ffdc31d7f40a1652c235582d5d277eb5eec

1

เพื่อรับรุ่นของเซิร์ฟเวอร์ Redis

redis-server -v

เพื่อรับรุ่นของลูกค้า Redis

redis-cli -v


0

เพื่อรองรับคำตอบที่ให้ไว้ข้างต้นรายละเอียดของอินสแตนซ์ redis สามารถรับได้โดย

$ redis-cli
$ INFO

สิ่งนี้จะให้ข้อมูลทั้งหมดที่คุณต้องการ

# Server
redis_version:5.0.5
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:da75abdfe06a50f8
redis_mode:standalone
os:Linux 5.3.0-51-generic x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:7.5.0
process_id:14126
run_id:adfaeec5683d7381a2a175a2111f6159b6342830
tcp_port:6379
uptime_in_seconds:16860
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:15766886
executable:/tmp/redis-5.0.5/src/redis-server
config_file:

# Clients
connected_clients:22
....More Verbose

เวอร์ชันอยู่ในบรรทัดที่สอง :)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.