日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

原生redis命令

發布時間:2023/12/15 综合教程 28 生活家
生活随笔 收集整理的這篇文章主要介紹了 原生redis命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、 redis-cli 連接 redis

進入redis安裝目錄

cd /usr/local/bin

進入redis客戶端

./redis-cli -p 6379

-h 用于指定 ip

-p 用于指定端口

-a 用于指定認證密碼

退出客戶端

quit

指定 database,默認16個數據庫

select 3

二、 redis-cli 操作 redis 五種數據類型

1、操作 String

單條操作

SET  key  value             //存入字符串鍵值對
GET  key                 //獲取一個字符串鍵值
DEL  key  [key ...]         //刪除一個鍵

批量操作

MSET  key  value [key value ...]     //批量存儲字符串鍵值對
MGET  key  [key ...]         //批量獲取字符串鍵值

存入一個不存在的字符串鍵值對,返回1代表成功,返回0代表失敗;可用于作為分布式鎖

SETNX  key  value         //存入一個不存在的字符串鍵值對

設置一個鍵的過期時間(秒)

EXPIRE  key  seconds

原子加減,可用于統計閱讀量,生成分布式系統全局序列號等功能

INCR  key             //將key中儲存的數字值加1

DECR  key             //將key中儲存的數字值減1

INCRBY  key  increment      //將key所儲存的值加上increment

DECRBY  key  decrement     //將key所儲存的值減去decrement

2、操作 hash

單條操作

HSET  key  field  value             //存儲一個哈希表key的鍵值
HGET  key  field                 //獲取哈希表key對應的field鍵值
HDEL  key  field  [field ...]         //刪除哈希表key中的field鍵值

批量操作

HMSET  key  field  value [field value ...]     //在一個哈希表key中存儲多個鍵值對
HMGET  key  field  [field ...]             //批量獲取哈希表key中多個field鍵值
HLEN  key                          //返回哈希表key中field的數量
HGETALL key                         //返回哈希表key中所有的鍵值

存入一個不存在的hash鍵值對,返回1代表成功,返回0代表失敗;可用于作為分布式鎖

HSETNX  key  field  value         //存儲一個不存在的哈希表key的鍵值

為哈希表key中field鍵的值加上增量increment

HINCRBY  key  field  increment

Hash結構優缺點

優點
1)同類數據歸類整合儲存,方便數據管理
2)相比string操作消耗內存與cpu更小
3)相比string儲存更節省空間

缺點
過期功能不能使用在field上,只能用在key上
Redis集群架構下不適合大規模使用

3、操作 list

添加操作(可用于微博消息和微信公號消息)

LPUSH  key  value [value ...]         //將一個或多個值value插入到key列表的表頭(最左邊)
RPUSH  key  value [value ...]         //將一個或多個值value插入到key列表的表尾(最右邊)
LRANGE  key  start  stop        //返回列表key中指定區間內的元素,區間以偏移量start和stop指定

彈出操作

LPOP  key            //移除并返回key列表的頭元素
RPOP  key            //移除并返回key列表的尾元素
BLPOP  key  [key ...]  timeout    //從key列表表頭彈出一個元素,若列表中沒有元素,阻塞等待                    timeout秒,如果timeout=0,一直阻塞等待
BRPOP  key  [key ...]  timeout     //從key列表表尾彈出一個元素,若列表中沒有元素,阻塞等待                    timeout秒,如果timeout=0,一直阻塞等待

4、操作 set

Set常用操作
SADD  key  member  [member ...]            //往集合key中存入元素,元素存在則忽略,若key不存在則新建
SREM  key  member  [member ...]            //從集合key中刪除元素
SMEMBERS  key                    //獲取集合key中所有元素
SCARD  key                    //獲取集合key的元素個數
SISMEMBER  key  member            //判斷member元素是否存在于集合key中
SRANDMEMBER  key  [count]            //從集合key中選出count個元素,元素不從key中刪除
SPOP  key  [count]                //從集合key中選出count個元素,元素從key中刪除

Set運算操作
SINTER  key  [key ...]                 //交集運算
SINTERSTORE  destination  key  [key ..]        //將交集結果存入新集合destination中
SUNION  key  [key ..]                 //并集運算
SUNIONSTORE  destination  key  [key ...]        //將并集結果存入新集合destination中
SDIFF  key  [key ...]                 //差集運算
SDIFFSTORE  destination  key  [key ...]        //將差集結果存入新集合destination中

常用操作可用于微信小程序抽獎,微信微博點贊,收藏等場景

集合操作實現微博微信關注模型

5、操作ZSet有序集合

ZSet常用操作
ZADD key score member [[score member]…]    //往有序集合key中加入帶分值元素
ZREM key member [member …]        //從有序集合key中刪除元素
ZSCORE key member             //返回有序集合key中元素member的分值
ZINCRBY key increment member        //為有序集合key中元素member的分值加上increment 
ZCARD key                //返回有序集合key中元素個數
ZRANGE key start stop [WITHSCORES]    //正序獲取有序集合key從start下標到stop下標的元素
ZREVRANGE key start stop [WITHSCORES]    //倒序獲取有序集合key從start下標到stop下標的元素

Zset集合操作
ZUNIONSTORE destkey numkeys key [key ...]     //并集計算
ZINTERSTORE destkey numkeys key [key …]    //交集計算

Zset集合操作實現排行榜

5、其他高級命令

keys:全量遍歷鍵,用來列出所有滿足特定正則字符串規則的key,當redis數據量比較大時, 性能比較差,要避免使用

scan:漸進式遍歷鍵

scan 參數提供了三個參數,第一個是 cursor 整數值(hash桶的索引值),第二個是 key 的正則模式, 第三個是一次遍歷的key的數量(參考值,底層遍歷的數量不一定),并不是符合條件的結果數量。

第 一次遍歷時,cursor 值為 0,然后將返回結果中第一個整數值作為下一次遍歷的 cursor。一直遍歷 到返回的 cursor 值為 0 時結束;

注意:但是scan并非完美無瑕, 如果在scan的過程中如果有鍵的變化(增加、 刪除、 修改) ,那 么遍歷效果可能會碰到如下問題: 新增的鍵可能沒有遍歷到, 遍歷出了重復的鍵等情況, 也就是說 scan并不能保證完整的遍歷出來所有的鍵, 這些是我們在開發時需要考慮的。

Info:查看redis服務運行信息,分為 9 大塊,每個塊都有非常多的參數,這 9 個塊分別是:

Server 服務器運行的環境參數
Clients 客戶端相關信息
Memory 服務器運行內存統計數據
Persistence 持久化信息
Stats 通用統計數據
Replication 主從復制相關信息
CPU CPU 使用情況
Cluster 集群信息
KeySpace 鍵值對統計數量信息

退出redis服務:

pkill redis‐server
kill 進程號
redis‐cli shutdown

總結

以上是生活随笔為你收集整理的原生redis命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。