redis工作小結 待完善

2021-09-23 05:58:11 字數 3402 閱讀 1266

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.管道通訊 無名管道用於具有親緣關係程序間的通訊 管道是半雙工的,資料只能單向流動 雙方通訊需建立兩個管道 管道只能用於父子程序或兄弟程序之間 管道對於管道兩端的程序而言就是乙個檔案,並單...