Konsol ve canlı komutlar
Tek bir hedefe karşı komut satırı. Ret listesi iki yarıdan oluşur: biri bu uygulamanın asla açmayacağı, diğeri bir hedefin isim çıkarabileceği yarı.
Konsol nedir#
Tek bir hedefe karşı, WebSocket üzerinden çalışan bir komut satırıdır. Komutu yazarsınız, Keydra ayrıştırır, çalıştırır ve türüne uygun sonucu geri akıtır. Geçmiş, profil bazında tutulur ve oturum kapansa da korunur.
Döküm, her komutun ne kadar sürdüğünü gösterir. ↑ tuşu geçmişte geriye gider, Tab ise
gömülü komut tablosundan tamamlar.
Bazı komutlar neden reddedilir#
Bazı komutlar reddedilir; arayüz hangisinin hangi nedenle reddedildiğini söyler. Nedenler üç başlıkta toplanır ve hiçbiri "bu komut tehlikeli" değildir — bir veritabanı yöneticisi bunların hepsini çalıştırır.
- Paylaşılan bağlantıda geri dönmeyen komutlar
-
SUBSCRIBE,MONITOR, bloklayan liste ve sıralı set çekme komutları,WAIT. Keydra bağlantıları havuzda tutar; süresiz bloklayan bir komut, kullandığı bağlantıyı da beraberinde kilitler. Pub/Sub ve komut izlemenin ayrı sayfaları olmasının nedeni tam olarak budur. - Havuzdaki bağlantının durumunu değiştiren komutlar
-
SELECT,HELLO,AUTH. Bağlantı, o hedefi kullanan herkes arasında paylaşılır; birinin çalıştırdığıAUTH, herkesin kimliği hâline gelir. - Rolün kapsamını aşan komutlar
-
CONFIG,SAVE,MODULE,EVAL,FUNCTION,RESTORE,MIGRATE,ACL,CLIENT,CLUSTER,SLOWLOGve çoğaltma iç komutları. Konsolu çalıştırmakconsole:runiznidir; bu izni operatör taşır. Operatör veriyi değiştirebilir ama sunucunun kendisini değiştiremez.CONFIG SET dirileCONFIG SET dbfilenameveSAVEbirlikte, sunucu sürecinin yazabildiği her yere istediğiniz dosyayı yazar;MODULE LOADise sunucuya çalıştıracağı bir paylaşımlı nesne verir. Her ikisi de "değer düzenleyebilir" yetkisini "o makinede kod çalıştırabilir" yetkisine dönüştürür.
Ayrıca KEYS, FLUSHALL, FLUSHDB ve SWAPDB de reddedilir: bunlar sunucuyu anahtar uzayının
tamamı boyunca bloklar. Veritabanı boşaltma, hedefini adıyla soran zamanlanmış bir iş olarak
sunulur — bkz. Zamanlanmış işler.
İki yarı eşit ölçüde tartışmaya açık değildir#
Ret gerekçeleri iki yarıya ayrılır ve bunlardan yalnızca biri bir hedefin yeniden değerlendirebileceği türdendir.
Bir yarı Keydra ile ilgilidir: havuzdaki bir bağlantıda hiç geri dönmeyen ya da o bağlantıyı başka bir yere bakar hâlde bırakan komutlar. Bunlar sunucu neresi olursa olsun aynıdır; çünkü bozdukları şey o sunucu değil, bu uygulamadır. Hiçbir yerde açılamazlar.
Diğer yarı hedefle ilgilidir — CONFIG, MODULE, EVAL, MIGRATE ve komşuları. Bunların
önemli olup olmadığı tamamen hangi sunucu olduğuna bağlıdır; bu yüzden bir hedef, yalnızca bu
yarıdan isim çıkarabilir.
Bir komutu tek bir hedefte açma#
Bağlantı profilindeki Konsol ve koruma adımı, konsolun orada çalıştırabileceği komutları, her birinin hangi gerekçeyle reddedildiğine göre gruplanmış olarak listeler. Birini işaretlemek, o komutu yalnızca o hedefte açar.
Hiçbirinin önemli olmadığı geçici bir sunucu ya da konsolu kullanan kişinin zaten veritabanı yöneticisi olduğu bir kurulum, bunu o profilde söyler — açmanın ne anlama geldiğini yazan cümlenin altında, tek tek her komut için.
Tabanı değiştirme#
keydra.console.denied-commands gömülü listeyi tümüyle değiştirir;
keydra.console.allowed-commands ise listeden isim çıkarır. İkisi de isteğe bağlıdır ve
öntanımlı olarak hiçbiri tanımlı değildir: boş bir değer ile hiç olmayan bir değer aynı şey
değildir ve yazılmış boş bir liste, ret listesinin yerine hiçbir şey koymazdı.
Bunlar bütün yanıt değil, tabandır. Söyledikleri her hedef için geçerlidir; "`FLUSHDB` geçici sunucuda sorun değil" demek için yanlış yer olmalarının nedeni de budur — yapılandırma bir hedefi adıyla söyleyemez ve üretim ortamına da aynı örnek üzerinden erişilir.
Komut çalıştırma#
-
Hedefte
console:runizniniz olmalı.
-
Hedefi açıp Konsol sayfasına gidin.
-
Komut satırı alanına komutu yazın. Tamamlamak için Tab, geçmişe bakmak için ↑ tuşunu kullanın.
-
Enter tuşuna basın ya da Çalıştır düğmesine tıklayın.
Döküm, yanıtı ve komutun ne kadar sürdüğünü gösterir. Boş yanıt (boş), nil yanıt (nil)
olarak yazılır.
Reddedilen komutlarda gerekçe de görünür: Konsol <komut> komutunu çalıştırmaz — paylaşılan bir bağlantıda hiç dönmez, sunucuyu kilitler ya da o bağlantının herkes için ne olduğunu değiştirir.
Dökümü temizle ve geçmişi unut seçeneği ikisini birden siler.
Giriş alanının yanındaki durum Bağlı, Bağlanıyor ya da Bağlantı kesildi olur. Oturum sonlanırsa sayfa Oturum sona erdi der ve yenilemenizi ister: konsol tek bir oturumdur, kendiliğinden yeniden bağlanmaz.
Canlı komutları izleme#
Hedeften istenen her komutu anında görürsünüz: sunucunun MONITOR çıktısı tarayıcınıza
akıtılır.
-
Hedefte
commands:watchizniniz olmalı. Bu izin bilinçli olarak dardır: tek tek anahtar okuyabilen birinin, geçen bütün anahtarları okuması beklenmez.
-
Hedefi açıp Canlı komutlar sayfasına gidin.
-
İzlemeye başla düğmesine tıklayın. Bu adıma kadar sayfada İzlenmiyor yazar ve izlemenin açıkken sunucuya ek yük getirdiği belirtilir.
-
Görüntüyü Komuta, argümana veya istemciye göre süz alanıyla daraltın.
-
İşiniz bitince İzlemeyi durdur düğmesine tıklayın.
Satırlarda Zaman, İstemci, Komut ve Argümanlar sütunları görünür. Sunucunun kendi çalıştırdığı komutlar sunucunun kendisi olarak gösterilir.
Komutlar okunabileceğinden hızlı geliyorsa sayfa kaçının gösterilemediğini bildirir; sessizce atmaz.
Akış argümanları da taşır, argümanlar ise veriyi. Sırlar motordan çıkmadan önce maskelenir; ama anahtar adları ve değerler maskelenecek sır değil, hedefinizin içeriğidir.


