Coding Gun

หัดใช้ Redis CLI และ Redis Commands

Redis CLI คือเครื่องมือที่ใช้จัดการกับ Redis Database ผ่านทาง Command Line

Redis Command คือคำสั่งต่างๆที่ส่งเข้าไปใน Redis Server เพื่อจัดการกับข้อมูลที่อยู่ใน Database ซึ่งเราจะส่ง Command เข้าไปทาง CLI, RedisInsight(GUI) หรือ Library ที่เรานำมาใช้ใน Programming Language ที่เราเขียนก็ได้

Connect to Redis

ก่อนจะ run Redis command เราต้อง connect เข้าไปที่ Redis Server ก่อน ซึ่งเราจะใช้ Redis-Cli(Command Line) หรือ RedisInsight(GUI) connect เข้าไปก็ได้ ในบทความนี้เราจะใช้ Redis-Cli เป็นหลัก ถ้าอยากรู้วิธีการใช้งาน RedisInsight ต่อได้ที่บทความนี้

Connect เข้าไปที่ Redis Server

ถ้าเราต้องการ Connect เข้าไปที่ Redis Server เราจะใช้คำสั่ง

$ redis-cli -u redis://host:port

ยกตัวอย่างเช่น

$ redis-cli -u redis://localhost:6379

ถ้า Host เป็น localhost และ Port เป็น 6379 เราสามารถพิมพิ์แค่ redis-cli ก็ได้

$ redis-cli

หลังจากที่ redis-cli connect กับ Server ได้แล้วเราจะได้ผลลัพพธ์แบบนี้ เป็น interactiveshell หน้าตาแบบนี้

localhost:6379> 

เราสามารถทดสอบ connection ด้วยการส่ง Command PING เข้าไปถ้าได้รับ PONG กลับมาถือว่า connect กับ Redis Server เสร็จสมบูรณ์

localhost:6379> PING
PONG

Redis Server with Authentication

ถ้า Redis Server ต้องใส่ Username และ Password หรือเปิด Authentication ไว้ เราจะต้องใช้คำสั่งในรูปแบบนี้

$ redis-cli -u redis://myuser:mypassword@localhost:6379

จริงๆแล้วเราสามารถ connect เข้าไปที่ Redis Server ได้โดยไม่ต้องใส่ username และ password แต่เราจะไม่สามารถ run command ได้

localhost:6379> PING
(error) NOAUTH Authentication required.

เราสามารถ Login เข้าไปได้ด้วย Command Auth แบบนี้

localhost:6379> AUTH myuser mypassword
OK

ถ้า user เป็น default user เราจะใส่แค่ password แบบนี้

localhost:6379> AUTH mypassword
OK

เราควรจะตั้ง password ที่แข็งแรงให้กับ Redis แนะนำให้ใช้ Secure random function หรือใช้ openssl ในการ random password ออกมาแบบนี้

$ openssl rand 60 | openssl base64 -A

การเรียกใช้ Command ผ่าน Command Line

จากในตัวอย่างด้านบนหลังจากที่ Redis-Cli Connect กับ Redis Server ได้แล้วเราต้องพิมพิ์ Command เข้าไปเอง แต่ถ้าต้องการให้ Redis-Cli ส่ง Command เข้าไปด้วยเราจะต้องใช้คำสั่ง

$ redis-cli PING

หรือ

$ redis-cli -u redis://localhost:6379 PING

แล้วเราจะได้ผลลัพธ์จาก Command แบบนี้

$ redis-cli -u redis://localhost:6379 PING
PONG

คำสั่งที่ใช้จัดการกับ Key

คำสั่งต่างๆในกลุ่มนี้จะเป็นคำสั่งสำหรับจัดการกับ Key ซึ่งสามารถใช้ได้กับทุกๆ Datatype โดยจะมีคำสั่งต่างๆ ดังนี้

Strings and Numbers

ถ้าเราต้องการจัดการกับข่้อมูลที่เป็นข้อความและตัวเลขเราจะใช้คำสั่งในกลุ่มนี้

นอกจาก String แล้วเรายังสามารถใส่ Value ที่เป็นตัวเลข(Number) ได้ด้วย ซึ่ง Redis จะมี Command สำหรับเพิ่มหรือลดค่าของตัวเลขดังนี้

ใน Datatype ประเภทแรกเราสามารถเก็บข้อมูลเป็นข้อความหรือตัวเลขก็ได้

นอกจากการทำงานกับ Strings และ Number แล้ว Redis ยังมีอีกหลาย Datatype ซึ่งจะทยอยมาในบทความต่อๆไป

Phanupong Permpimol
Follow me