Redis 的簡單操作命令和事務簡單使用

2021-07-25 22:30:11 字數 3832 閱讀 9534

使用

啟動redis   切換到bin目錄下

./redis-cli 直接啟動

讓redis後台執行 需要修改配置檔案 redis.conf 中的 daemonize  為yes 再次啟動就行

redis 命令  

獲取所有key keys *

萬用字元 * 所有   ?乙個   通配中括號內的某個字元

返回隨機key名   randomkey

判斷可以值是什麼型別  type key名

判斷key是否存在 exists key名

刪除指定key  del key名

修改key名 rename  原來key名   新key名   如果key名存在就會覆蓋

如果key名存在就不改了  不存在則改

renamenx  

redis預設開啟了16個庫  可在 redis.conf 配置檔案中修改 databases   

移動到別的庫   move   key名   庫編號

切換到別的庫  select 庫編號

查詢key值有效期     ttl  key名   返回秒數   -1 表示永久有效

設定有效期   expire key名  整型值(設定的秒數)

設定有效期以毫秒為單位   p

expire key名  整型值(設定的豪秒數)

設定永久有效 persist key名

redis 字串型別操作

設定key  val   儲存字串    set key名  val值   ex有效期秒  px毫秒 nx  xx  

注意 秒和毫秒只能使用乙個  不能同時使用   如果同時設定 會以後面的為準

nx  key不存在時執行   xx key存在時執行

同時設定多個key val   mset key1 val1 key2 val2

同時獲取多個key值  mget key1 key2

修改val值 setrange  key名  偏移量  修改後的值    如果偏移量大於字串長度 用0填充

獲取部分val值 getrange  key名  開始下標  結束下標  從左以 0 開始  從右從-1開始   注意 開始下標》長度  返回空    結束下標》= 長                                        度    擷取到字元結尾

返回當前val值並修改為新值   getset  key名  新值

增加1 incr key名  減去1 decr key名 

增加多 incrby  key名  增加的數量  

減去多 decrby  key名  減去的數量

以浮點數增加 incrbyflot  key名 增加的數量

redis list  鍊錶 型別操作

左邊新增

新的鍊錶 lpush   key名  val值  

右邊新增

新的鍊錶 rpush   key名  val值 

取出鍊錶的某一段 lrange key名  起始位置  結束位置

返回並刪除鍊錶最左 lpop key名

返回並刪除最右 rpop key名

刪除指定值 lrem key名  要刪除的數量  要刪除的val值

擷取指定值 lrange key名 開始位置 結束位置

檢視鍊錶長度 llen key名

在指定位置插入 linsert key名  before|after 指定的值   要插入的值

刪除指定的並且插入另外的鍊錶中 rpoplpush  鍊錶名1  鍊錶名2  彈出鍊錶1 的最右乙個值 放入鍊錶2最左

redis set  集合 型別操作

唯一性  無序性

增加乙個集合  sadd key名 val1 val2   返回值 增加成功的數量   

檢視集合中元素  smembers key名  

刪除集合中某個指定元素 srem key名  要刪除的值  返回值 具體成功的個數

隨機返回並且刪除乙個元素 spop key名

隨機返回集合中某個元素  srandmember key名

判斷集合中是否存在某個元素 sismember key名 val值

返回集合中元素的個數 scard key

把集合1中的某個元素刪除並新增到集合2中 smove 集合1 集合2 val值

求出幾個集合中的交集 並返回 sinter key1 key2 key3 

求出幾個集合中的並集 sunion key1 key2 key3 

求出key1與別的集合的差集 sdiff key1 key2 key3 

order set 有序集合\增

增加乙個有序集合 zadd key名 score1 val1 score2 val2 ```

查查找範圍內的值 按照排序  zrange  key名  範圍 0 4    加withscores 取出對應的score

查詢範圍內的值 按照

score

值 zrangebyscore  key名  範圍 sort1 sort2   可以加 limit 跳過的位數  取幾位 

加withscores 取出對應的

score

查詢集合某個值的排名 公升序 zrank key名 val

查詢集合某個值的排名 降序  zrevrank key名 val

刪刪除集合內指定值 zrem key名 val

刪除範圍內的值 按照排序 zremrangebyrank  key名  範圍 0 4    

刪除範圍內的值 按照

score

zremrangeby

score

key名  範圍 

score1

score2

統計返回元素個數 zcard key

返回區間內的數量 zcount key 0 1 

返回兩個集合見的最大值 最小值 和 放到新的集合中  zzinterstore 新的集合 比較的集合數量  集合1 集合2 aggregate min|max|sum

redis hash  雜湊資料型別操作

生成乙個hash一次設定乙個值 hset keys field val

生成乙個hash一次設定多個值 hmset keys field1 val1 field2 val2 

查詢所有 hgetall key

查詢指定 hget key  field  

查詢多個指定 hmget key  field1 field2

刪除key中field域 hdel key fiedl

返回key中元素數量 hlen key

判斷key中是否有field域 hexists key field

把key中的field域增長整形值 hinrby key field val 

把key中的field域增長浮點型值 hinrby float key field val 

返回key中所有field hkeys key   

返回key中所有value kvals key   

redis 事務

watch key1 key2  監控  如果任意乙個有變化則事務取消

unwatch  取消監視

啟動事務 muitl

把執行命令放在佇列裡 並不去執行 exec後才去執行

失敗了 discard

成功 exec

共同學習!共同進步!

redis的命令以及簡單操作

優點 高併發,高可用,高可擴充套件,高寫入 缺點 不支援sql語句 學習使用成本較大 安裝好之後連線視覺化工具需要修改幾個配置檔案 1.bind 127.0.0.1 改為 bind 192.168.133.104 2.protected mode yes 改為 protected mode no 開...

redis 事務操作

redis事務操作 multi 命令用於開啟乙個事務,它總是返回ok。multi 執行之後,客戶端可以繼續向伺服器傳送任意多條命令,這些命令不會立即被執行,而是被放到乙個佇列中,當 exec命令被呼叫時,所有佇列中的命令才會被執行。另一方面,通過呼叫 discard 客戶端可以清空事務佇列,並放棄執...

Redis事務操作

事務有以下特性 原子性 atomicity 原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾,這和前面兩篇部落格介紹事務的功能是一樣的概念,因此事務的操作如果成功就必須要完全應用到資料庫,如果操作失敗則不能對資料庫有任何影響。一致性 consistency 一致性是指事務必須使資料庫從乙個...