開發常用命令

2021-08-14 18:23:32 字數 4888 閱讀 9932

exists key

確認乙個key是否存在

例如: exists ruanl

如果存在返回(integer)1 不存在 返回(integer)0

type key

返回值的型別

例如 :type ruanl

返回 string ,hash,list,set

randomkey
隨機返回key空間的乙個

rename oldkey newkey

重新命名key

當 oldkey 和 newkey 相同,或者 oldkey 不存在時,返回乙個錯誤

當 newkey 已經存在時, rename 命令將覆蓋舊值

慎用 ! rename 命令執行後,oldkey會在redis 中消失 ,如果newkey 已經存在,oldkey會覆蓋newkey的型別和value

select index

redis select 命令用於切換到指定的資料庫,資料庫索引號 index 用數字值指定,以 0 作為起始索引值

redis 預設資料庫個數是16,索引範圍為0-15,就像mysql伺服器可以有多個例項,各個資料庫之間是相互分離的,每個資料庫都有屬於自己的空間,不必擔心之間的key衝突。

redis下,資料庫是由乙個整數索引標識,而不是由乙個資料庫名稱.

例如:

select 1;

提示符切換到:

127.0.0.1:6379[1]>

將當前資料庫的 key 移動到給定的資料庫 db 當中

move key db

移動成功返回 1 ,失敗則返回 0

設定乙個key的活動時間(s)

expire key seconds

當 key 過期時(生存時間為 0 ),它會被自動刪除

以秒為單位,返回給定 key 的剩餘生存時間

ttl key

當 key 不存在時,返回 -2

當 key 存在但沒有設定剩餘生存時間時,返回 -1

否則,以秒為單位,返回 key 的剩餘生存時間

del key [key …]

刪除多個key,這種對於幾個以內的key還好,但對於包含數量比較多的時候不適用

flushdb

刪除當前選擇資料庫中的所有key

flushall

刪除所有資料庫中的所有key

這2種在正式環境中使用非常不合適,如果我們想要刪除匹配某一規則的key怎麼處理呢

可以參考這2種

eval 指令碼刪除

eval 「return redis.call(『del』,unpack(redis.call(『keys』,argv[1])))」 0 rule_fixed_repayment_*

這樣的方式,通過內建的 lua 直譯器,可以使用 eval 命令對 lua 指令碼

但這種處理方式,量大的情況下,lua函式unpack會出現問題

可以採用指令碼迴圈處理

xargs

但是有的redis版本過低沒有內建lua直譯器,可以使用linux xargs 命令處理

redis-cli -h ip -a password keys silk_bag_detail_* |xargs redis-cli -h ip -a password del
如果redis-cli沒有設定成系統變數,需要指定redis-cli的完整路徑

如:/opt/redis/redis-cli keys 「*」 | xargs /opt/redis/redis-cli del

既然講到了linux 的 xargs,簡單介紹一下

xargs是一條unix和類unix作業系統的常用命令。它的作用是將引數列表轉換成小塊分段傳遞給其他命令,以避免引數列表過長的問題.

相當於給命令傳遞引數的過濾器,組合多個命令的乙個工具。

例如:我們想要獲得/usr/ 下所有*.test 結尾的檔案列表,並刪除

find /etc -name "*.test" | rm

這樣linux 是不支援的

但是我們可以通過

find /usr -name "*.test" | xargs rm

find -name '*.log' -print0 | xargs -0 rm

find -print和-print0的區別:

-print每乙個輸出後會新增乙個回車換行符,而-print0則不會.

例如:

find -name "*.te" -print0

顯示:./test1.te./test2.te

find -name "*.te" -print

./test1.te

./test2.te

-0

當stdin含有特殊子元的時候,將其當成一般字元

慢查詢日誌:記錄所有執行時間超過long_query_time秒的所有查詢或者不使用索引的查詢;

通過

show variables like '%query%'

檢視慢查詢日誌的資訊;

show variables like '%slow_query_log%'

variable_name

value

slow_query_log

onslow_query_log_file

/var/lib/mysql/slow_queries.log

show variables like 'long%';

檢視 long_query_time

variable_name

value

long_query_time

10.000

預設值為10秒

# time: 161117 15:30:33

# user@host: db_write[db_write] @ [192.168.1.91] id: 31477

# query_time: 63.218828 lock_time: 0.000127 rows_sent: 0 rows_examined: 12777

use zglc_zjcg;

set timestamp=1479367833;

select

r.* from base_interest_record r join base_invest t on t.transaction_id = r.assoc_id where t.free_product_type = 2

group by r.user_id = 11341

order by id desc

limit 0, 1000;

通過慢查詢記錄的 那條語句導致慢查詢(sql_text),該慢查詢語句的查詢時間(query_time),鎖表時間(lock_time),以及掃瞄過的行數

(rows_examined)等資訊。

show profiles ;

empty set (0.00 sec)

說明profiles功能是關閉的,使用下面命令開啟

mysql> set profiling = 1;

query ok, 0 rows affected, 1 warning (0.00 sec)

show profiles ;

+———-+————+—————————————————-+

| query_id | duration | query |

+———-+————+—————————————————-+

| 1 | 0.00025850 | select id,username from user_info where id = 11556 |

+———-+————+—————————————————-+

1 row in set, 1 warning (0.00 sec)

以很高的精度顯示了查詢的相應時間

show profile for query 1;

給出了執行每個步驟及其花費的時間

mysql 的 show status命令返回了一些計數器,檢視mysql 的伺服器狀態資訊

當我們執行show status語句時,mysql將會列出多達300多條的狀態資訊記錄,其中包括了供我們檢視了解的各種資訊。

不過,如果直接使用show status指令得到300多條記錄,會讓我們看得眼花繚亂,

因此我們希望能夠「按需檢視」一部分狀態資訊。這個時候,我們可以在show status語句後加上對應的like子句

show status like ''

一些常用:

connections : 檢視試圖連線到mysql(不管是否連線成功)的連線數

threads_cached :檢視執行緒快取內的執行緒的數量

threads_connected :檢視當前開啟的連線的數量

threads_running : 檢視啟用的(非睡眠狀態)執行緒數

table_locks_waited : 檢視不能立即獲得的表的鎖的次數。如果該值較高,並且有效能問題,你應首先優化查詢

handler_read_rnd_next : 沒有用到索引的讀操作

顯示哪些執行緒正在執行

id :

user:

host:

db:command:

time:

state 狀態

info:

關鍵列 state

這個大家可以自行查詢具體的狀態資訊

如果發現被鎖

通過kill query xx 為id的值

Linux開發常用命令

1.sudo passwd root 可以設定 root 的密碼。2.su 命令後,系統會要求輸入 root 的密碼獲取超級使用者。3.shutdown r now 重新啟動系統。4.pl檔案安裝需要root許可權 安裝方法 x.pl 確定鍵 5.deb軟體 雙擊安裝。6.檢視系統資訊 uname ...

Android開發 常用命令

adb命令 功能 命令檢視最上層activity adb shell dumpsys activity findstr mfocusedactivity 得到anr的trace檔案 adb pull data anr traces.txt 生成簽名檔案 keytool genkey alias an...

後台開發常用命令

1.netstat apn 檢視機子網路介面 2.free m 檢視機子記憶體使用情況 3.ps aux grep user 常看user使用者的程序情況 4.top 檢視所有程序的情況 5.du sg 檢視檔案在磁碟占用 6.df m 檢視磁碟的使用 7.ipcs a 檢視所有的訊號量sempho...