রেডিস একটি খুব সোজা কমান্ড লাইন ইন্টারফেস ব্যবহার করে। যদিও এটি তুলনামূলকভাবে সহজ, এটি এমন কিছু আকর্ষণীয় বৈশিষ্ট্য সরবরাহ করে যা কেউ আশা করতে পারে না। আসুন কিছু মৌলিক বিষয়ের উপর যাই এবং বেশিরভাগ ক্লায়েন্টের কার্যকারিতা এবং বৈশিষ্ট্যগুলি নিয়ে কাজ করি৷
শুরু করার জন্য, আমাদের একটি সহজ সংযোগ আছে:
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword
127.0.0.1:6379> PING
PONG
ঠিক আছে! আমরা আমাদের নিজস্ব রেডিস সার্ভারের সাথে সংযুক্ত হয়েছি এবং আমাদের অতি গোপন পাসওয়ার্ড ব্যবহার করে প্রমাণীকরণ করেছি৷
বিকল্পভাবে, আপনি -a বিকল্পটি বাদ দিতে পারেন এবং সংযোগ করার পরে প্রমাণীকরণ করতে পারেন:
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> AUTH mysupersecretpassword
OK
127.0.0.1:6379> PING
PONG
যদি আপনার রেডিস সার্ভার এবং ক্লায়েন্ট একই মেশিনে চলমান থাকে, তাহলে আপনি একটি ইউনিক্স সকেটের মাধ্যমে সংযোগ করতে বেছে নিতে পারেন।
দ্রষ্টব্য:আপনি যদি এখনও একটি হোস্টনাম এবং পোর্টের পাশাপাশি একটি সকেট প্রদান করেন, তবে redis-cli এখনও ইউনিক্স সকেটের মাধ্যমে সংযোগ করবে৷
cweid@strange:~$ redis-cli -s /tmp/redis.sock
127.0.0.1:6379> AUTH mysupersecretpassword
OK
127.0.0.1:6379> PING
PONG
ঠিক আছে, এখন আমরা বুঝতে পেরেছি কিভাবে কমান্ড লাইনের মাধ্যমে আমাদের Redis ইন্সট্যান্সের সাথে সংযোগ এবং প্রমাণীকরণ করা যায়, আসুন আমরা এটির সাথে করতে পারি এমন কিছু দরকারী জিনিসের উদাহরণ দেখি।
ধরা যাক আপনি কমান্ড লাইনের মাধ্যমে একটি কমান্ড চালাতে চান এবং শুধুমাত্র তার আউটপুটকে স্ট্যান্ডার্ড আউটে ফিরিয়ে দিতে চান:
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword PING
PONG
অথবা সম্ভবত আপনি একই কমান্ড n সংখ্যক বার চালাতে চান:
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword -r 4 PING
PONG
PONG
PONG
PONG
লক্ষ্য করুন যে আমরা "পুনরাবৃত্তি" বিকল্প সরবরাহ করতে আমাদের কমান্ডে a -r যোগ করেছি। বিকল্পভাবে, আমরা -r এর সাথে -i ব্যবহার করে একটি বিলম্ব যোগ করতে পারি।
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword -i 1 -r 4 PING
PONG
PONG
PONG
PONG
এটি প্রতিটি PING কমান্ডের মধ্যে এক-সেকেন্ডের ঘুম যোগ করে। আপনি একটি ফ্লোট ব্যবহার করে এই বিকল্পটিতে সাবসেকেন্ড সরবরাহ করতে পারেন:
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword -i 0.1 -r 4 PING
PONG
PONG
PONG
PONG
এটি প্রতি সেকেন্ডের 10তম সময়ে PING কমান্ড চালাবে।
আপনি যে Redis ইন্সট্যান্সের সাথে সংযুক্ত আছেন সে সম্পর্কে কিছু সাধারণ ডায়গনিস্টিক তথ্য তৈরি করতে, শুধুমাত্র –stat বিকল্পের সাথে redis-cli চালান।
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword --stat
------- data ------ --------------------- load -------------------- - child -
keys mem clients blocked requests connections
0 790.80K 1 0 122 (+0) 16
0 790.80K 1 0 123 (+1) 16
0 790.80K 1 0 124 (+1) 16
0 790.80K 1 0 125 (+1) 16
0 790.80K 1 0 126 (+1) 16
এখানে আমরা দেখতে পাচ্ছি:
এখানে আমরা দেখতে পাচ্ছি:
- সার্ভারে কয়টি কী সেট করা আছে।
- সার্ভারের মোট মেমরি ব্যবহার।
- সংযুক্ত বা অবরুদ্ধ ক্লায়েন্টের মোট সংখ্যা।
- সার্ভারের মোট অনুরোধের সংখ্যা।
- সংযোগের মোট বর্তমান সংখ্যা।
এই কমান্ডটি সম্পূর্ণরূপে Redis সার্ভারের একটি ওভারভিউ পেতে দরকারী। এটিকে একটি ফাইল বলার মতো মনে করুন৷
৷এখন যেহেতু আপনি Redis সার্ভার সম্পর্কে কিছু সাধারণ পরিসংখ্যান তৈরি করতে জানেন, আসুন Redis কমান্ডের লেটেন্সি পরীক্ষা করা যাক। এটি খুবই সহজ এবং কমান্ড লাইনের মাধ্যমে করা যেতে পারে:
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword --latency
min: 0, max: 1, avg: 0.13 (763 samples)
এখানে আমরা ন্যূনতম, সর্বোচ্চ এবং গড় অনুরোধের সময়, সেইসাথে নেওয়া নমুনার সংখ্যা দেখি৷
দ্রষ্টব্য:এগুলি মাইক্রোসেকেন্ডে রেকর্ড করা হয়। Redis লেটেন্সি সম্পর্কে আরও তথ্যের জন্য, লেটেন্সি পর্যবেক্ষণের জন্য ডকুমেন্টেশন দেখুন।
বড় স্ট্রিং বা অন্যান্য ডেটা স্ট্রাকচারের সন্ধানে আপনার কীস্পেস বিশ্লেষণ করতে, –bigkeys বিকল্পটি চালান। আমাদের কীস্পেসে বড় কীগুলি খুঁজে বের করার জন্য, সেইসাথে কী ধরনের সামগ্রিক বিতরণের গণনা পেতে এটি ব্যবহার করা ভাল৷
cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword --bigkeys
# Scanning the entire keyspace to find biggest keys as well as
# average sizes per key type. You can use -i 0.1 to sleep 0.1 sec
# per 100 SCAN commands (not usually needed).
[00.00%] Biggest string found so far 'user:paul' with 4 bytes
[00.00%] Biggest string found so far 'barrrr' with 19612 bytes
-------- summary -------
Sampled 4 keys in the keyspace!
Total key length in bytes is 29 (avg len 7.25)
Biggest string found 'barrrr' has 19612 bytes
4 strings with 19624 bytes (100.00% of keys, avg size 4906.00)
0 lists with 0 items (00.00% of keys, avg size 0.00)
0 sets with 0 members (00.00% of keys, avg size 0.00)
0 hashs with 0 fields (00.00% of keys, avg size 0.00)
0 zsets with 0 members (00.00% of keys, avg size 0.00)
এটি আমাদের বিভিন্ন কী সম্পর্কে অনেক দরকারী তথ্য দেয়, তাদের ধরন এবং আকার সহ৷
সামগ্রিকভাবে, Redis CLI হল একটি শক্তিশালী টুল যা আপনাকে আপনার Redis ইনস্ট্যান্স পরিচালনা করতে সাহায্য করবে। এর অন্তর্নির্মিত বিকল্পগুলি ব্যবহার করার ক্ষমতা একটি সমস্যাযুক্ত রেডিস সার্ভার বিশ্লেষণে সত্যিই সাহায্য করতে পারে৷