/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 26383 -a 123456 -r 100 -i 1 info | grep used_memory_human: #redis外部命令查看info信息 #-a指定密碼,-h指定主機,-p指定端口,-r運行這個命令多少次,-i運行這個命令的間隔, /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 26383 config get "maxmemory" /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 26383 config get "maxmemory" | sed -n '2p' #查看配置文件中maxmemory的值,查看第二行 /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 26383 info | grep used_memory_rss: | awk -F ":" '{print $2}' #查看redis使用的物理內存,相除就能夠計算出比例 /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 26383 set "aaa2d2df2" "bbb" #設置key value /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 26383 get "aaa2d2df2" #查看key /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 26383 keys "aaa2d2df2" /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 26383 exists "aaa2d2df2" #查看某個key是否存在 /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 26383 config get "*" #查看redis運行期間能夠臨時修改的參數 /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 26383 config set "maxmemory" "8000000000" #修改redis的最大支持內存 /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 26383 info | grep config_file #查看redis的配置文件在哪 select 0 select 3 select 15 #默認進入redis時就是db 0,通常寫入到redis都是寫入到db 0 KEYS * #redis查看當前當前庫全部的key #在shell命令行下查看,要用轉義符/data/mxw/tools/redis1/bin/redis-cli -p 6579 keys \* CONFIG GET * #查看當前redis的配置信息 config set stop-writes-on-bgsave-error no #強制中止redis快照致使,redis運行用戶沒有權限寫rdb文件或者磁盤空間滿了,解決辦法: #清redis緩存中全部數據 ./redis-cli #進入 dbsize #默認顯示當前db裏面的key的數量 flushall #Remove all keys from all databases #刪除redis當前數據庫中的全部Key flushdb #刪除redis全部數據庫中的key flushall redis-cli -n 0 keys 「account*」 | xargs redis-cli -n 0 del redis-cli -n 1 keys 「*」 | xargs redis-cli -n 0 del #批量刪除多個key,前提是該類型的key能夠用正則匹配出來 #-n 0是切換到db 0,刪除db 0 裏面全部的key redis-cli keys 「*」 | xargs redis-cli del #默認的全部操做都是針對db 0 的,不論讀寫 keys * #返回知足給定pattern的全部key,*表明取出多有key ,xiaojun* ,表明xiaojun大頭的keys exists #確認一個key是否存在 exists name #沒有返回0,有返回1 del age #刪除一個key expire #設置一個key過時時間 expir name 10 #設置一個存在一個存在的鍵的過時時間 ttl name #查看key的存活時間,-1表示過時 select 0 #表示進入到0數據庫 ,(進入redis的時候,默認是0數據庫) select 0 set age 30 get age move age 1 #(0到15的值,表示將age移動到1數據庫) select 1 get age persist #移除給定key的過時時間 expir age 300 ttl age persist age ttl age #值爲-1 表示取消了過時時間 randomkey #隨機返回key空間的一個key (就是隨機返回一個存在的key),能夠隨機取出一個值,而後刪除該值,可能很是有用 rename #重命名key rename set2 set200 #將key set2重命名爲set200 type #返回值的類型 type set2 #(返回值none表示空,set是集合 ,zset有序集合) 2、服務器的相關命令 ping :測試鏈接是否存活 echo : 在命令行打印一些內容 select : 選擇數據庫。Redis的數據庫編碼從0到15, select 1 quit : 退出鏈接 ,或者用exit命令 dbsize : 返回當前數據庫中key的數目 info : 獲取服務器的信息或統計 config get : 實時傳儲收到的請求 config get * (能夠返回相關配置的參數值) -------------------- flushdb : 刪除當前選擇數據庫中的全部key dbsize (顯示當前選擇數據庫中key的數量) flushdb dbsize (結果爲0) ------------------- flushall : 刪除全部數據庫中的全部key #手動持久化redis數據 SAVE 命令執行一個同步保存操做,將當前 Redis 實例的全部數據快照(snapshot)以 RDB 文件的形式保存到硬盤。 通常來講,在生產環境不多執行 SAVE 操做,由於它會阻塞全部客戶端,保存數據庫的任務一般由 BGSAVE 命令異步地執行。然而,若是負責保存數據的後臺子進程不幸出現問題時, SAVE 能夠做爲保存數據的最後手段來使用。 保存成功時返回 OK 。 redis> SAVE OK 在後臺異步(Asynchronously)保存當前數據庫的數據到磁盤。 BGSAVE 命令執行以後當即返回 OK ,而後 Redis fork 出一個新子進程,原來的 Redis 進程(父進程)繼續處理客戶端請求,而子進程則負責將數據保存到磁盤,而後退出。 客戶端能夠經過 LASTSAVE 命令查看相關信息,判斷 BGSAVE 命令是否執行成功。 redis> BGSAVE Background saving started 1.基本用法 SET connections 10 GET connections => 10 DEL connections 2 特殊命令(INCR防止多client讀寫衝突) INCR connections => 11 INCR connections => 12 INCR connections => 13 3 redis存儲list數據 RPUSH puts the new value at the end of the list. RPUSH friends "Alice" RPUSH friends "Bob" LPUSH puts the new value at the start of the list. LPUSH friends "Sam" LRANGE gives a subset of the list. It takes the index of the first element you want to retrieve as its first parameter and the index of the last element you want to retrieve as its second parameter. A value of -1 for the second parameter means to retrieve elements until the end of the list. LRANGE friends 0 -1 => 1) "Sam", 2) "Alice", 3) "Bob" LRANGE friends 0 1 => 1) "Sam", 2) "Alice" LRANGE friends 1 2 => 1) "Alice", 2) "Bob" LLEN friends => 3(獲取list長度) LPOP friends => "Sam" (刪除第list第一個參數) RPOP friends => "Bob"(刪除第list最後一個參數) RPUSH redis:log 1 #在list尾部追加一個value LRANGE redis:log 0 0 #取出list的第一個value LPOP redis:log #刪除list的第一個value LRANGE redis:log 0 -1 #顯示全部list value /opt/logstash/bin/logstash agent -f /etc/logstash2/conf.d -l /var/log/logstash2/logstash.log & ##以上是手動操做redis消息隊列方法 redis set ( each element may only appear once) redis set原來沒有sort,後來新增帶score的set支持ZRANGE ZADD hackers 1953 "Richard Stallman" 5 redis hash ( perfect data type to represent objects) HSET user:1000 name "John Smith" HSET user:1000 email "john.smith@example.com" HSET user:1000 password "s3cret" HMSET user:1001 name "Mary Jones" password "hidden" email "mjones@example.com" HGETALL user:1000 HGET user:1001 name => "Mary Jones" 數值類型原子操做 HSET user:1000 visits 10 HINCRBY user:1000 visits 1 => 11 HINCRBY user:1000 visits 10 => 21 HDEL user:1000 visits HINCRBY user:1000 visits 1 => 1