redis批量刪除指定pattern的keys
redis-cli keys "*"
|xargs redis-cli del
# 如果redis-cli沒有設定成系統變數,需要指定redis-cli的完整路徑
# 如:/opt/redis/redis-cli keys "*" | xargs /opt/redis/redis-cli del
redis-cli -a password keys "*"
|xargs redis-cli -a password del
# 下面的命令指定資料序號為0,即預設資料庫
redis-cli -n 0 keys "*"
|xargs redis-cli -n 0 del
# 刪除當前資料庫中的所有key
flushdb
# 刪除所有資料庫中的key
flushall
python使用redis文件
清除redis快取資料sentinel
from redis import sentinel
cli = sentinel.sentinel([["192.168.229.169", 29000], ["192.168.229.169", 29001], ["192.168.229.169", 29002],["192.168.229.169",29003]])
ms = cli.master_for("cluster_169-20000")
ms.delete("webcc:miccard_uids_live_key")
ms.delete("webcc:game_uids_live_key")
redis 同庫遷移
# 命令說明
-h hostip,
-p 埠,
-a 密碼,
-n db庫,
--no-raw選項是要求命令的返回結果必須是原始的格式,
--raw恰恰相反,返回格式化後的結果,
-x 選項代表從標準輸入(stdin)讀取資料
# 複製全部乙個庫的key值
#!/bin/bash
src_ip=127.0.0.1
src_port=8090
src_db=14
src_pw='1234'
dest_ip=127.0.0.1
dest_port=8090
dest_db=15
desc_pw='1234'
redis-cli -h $src_ip -p $src_port -a $src_pw -n $src_db keys "*" | while read key
do redis-cli -h $src_ip -p $src_port -a $src_pw -n $src_db --raw dump $key | perl -pe 'chomp if eof' | redis-cli -h $dest_ip -p $dest_port -a $desc_pw -n $dest_db -x restore $key 0
echo "migrate key $key"
done
#複製乙個庫的部分key
#!/bin/bash
src_ip=127.0.0.1
src_port=8090
src_db=14
src_pw='1234'
dest_ip=127.0.0.1
dest_port=6379
dest_db=2
desc_pw='1234'
#要遍歷的key
k=(test ws we)
for loop in $
do redis-cli -h $src_ip -p $src_port -a $src_pw -n $src_db --raw dump $loop | perl -pe 'chomp if eof' | redis-cli -h $dest_ip -p $dest_port -a $desc_pw -n $dest_db -x restore $loop 0
echo "the value is: $loop"
done
#只複製乙個key
redis-cli -h 127.0.0.1 -p 8090 -a 1234 -n 14 --raw dump test | perl -pe 'chomp if eof' | redis-cli -h 127.0.0.1 -p 8090 -a 1234 -n 15 -x restore test 0
redis 遷移python實現
# coding=utf-8
import redis
redis_from = redis.strictredis(host='127.0.0.1', port=6379, db=0)
redis_to = redis.strictredis(host='127.0.0.1', port=6379, db=0)
if __name__ == '__main__':
cnt = 0
for k in redis_from.keys():
data_type = redis_from.type(k)
if data_type == 'string':
v = redis_from.get(k)
redis_to.set(k, v)
elif data_type == 'list':
values = redis_from.lrange(k, 0, -1)
redis_to.lpush(k, values)
elif data_type == 'set':
values = redis_from.smembers(k)
redis_to.sadd(k, values)
elif data_type == 'hash':
keys = redis_from.hkeys(k)
for key in keys:
value = redis_from.hget(k, key)
redis_to.hset(k, key, value)
else:
print 'not known type'
cnt = cnt + 1
print 'total', cnt
IIC匯流排硬體工作原理(待完善)
一 iic基礎概念 簡單 介面在元件上,占用空間小 高效 能夠以10kbps的最大傳輸速率支援40個元件 多主控 任何能夠進行傳送和接收的裝置都可以成為主匯流排 2 協議簡介 匯流排訊號 sda 序列資料線 scl 序列時鐘 匯流排空閒狀態 sda 高電平 scl 高電平 起始位 scl為高電平期間...
JAVA 網路程式設計的老師小結(待完善)
網路程式設計 1 網路傳輸的七層結構 從下到上 物理層 資料鏈路層 網路層 傳輸層 會話層 表示層 應用層 2 各層主要的協議 傳輸層 tcp udp 應用層 http ftp telnet 3 tcp udp的區別 tcp 建立連線,安全,效率低,資料是以流的形式傳輸的,有先後順序。udp 無連線...
C Linux之程序間通訊小結 待完善
此博文,待日後完善 程序通訊方式 1.管道通訊 匿名管道 命名管道 2.訊息佇列 3.共享記憶體 4.訊號量 1.管道通訊 無名管道用於具有親緣關係程序間的通訊 管道是半雙工的,資料只能單向流動 雙方通訊需建立兩個管道 管道只能用於父子程序或兄弟程序之間 管道對於管道兩端的程序而言就是乙個檔案,並單...