久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Redis基本數據類型和操作方法有哪些

201次閱讀
沒有評論

共計 3416 個字符,預計需要花費 9 分鐘才能閱讀完成。

本文丸趣 TV 小編為大家詳細介紹“Redis 基本數據類型和操作方法有哪些”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Redis 基本數據類型和操作方法有哪些”文章能幫助大家解決疑惑,下面跟著丸趣 TV 小編的思路慢慢深入,一起來學習新知識吧。

Redis 簡介

redis 是一個主要由開發者 Salvatore Sanfilippo(Antirez)開發的開源內存數據結構存儲器,用于改進其網站的可伸縮性,可以用作數據庫、緩存和消息代理等,可以在項目中結合著使用 Redis。

Redis 有著豐富的數據結構、優秀的速度、齊全的功能,眾多公司都在使用 Redis,它有著如下的特點:

快速

NoSQL 數據庫

支持眾多環境

Redis 是一個內存數據庫,這意味著所有的數據都保存在內存中,而不是硬盤上(當然也支持硬盤的全量備份和增量備份)。內存的特點就是能夠支持快速訪問和快速搜索,但也受空間限制。

在數據庫架構中,Redis 通常位于客戶端和數據庫之間,以減輕 NoSQL 數據庫或應用程序的負載,減少緩存時的數據訪問延遲。

Redis 的主要用途

隊列

發布 / 訂閱

實時分析

機器學習:為機器學習快速處理大量、多樣和快速的數據

地理空間處理

排行榜 / 計數(也就是日常所見的熱搜)

會話緩存

整頁緩存

Redis 使用與啟動

網上有很多安裝的教程,這里以 Mac 端為例,在安裝完 Redis 服務器之后,就可以通過以下命令啟動 Redis 服務器:

redis-server

并通過以下命令啟動 redis-cli 客戶端:

redis-cli -h 127.0.0.1 -p 6379

如圖所示:

現在我們可以通過 Redis 的 PING 命令接受一條可選的消息作為參數,這個命令通常用于測試客戶端和服務器之間的連接是否正常,如果用戶以無參數形式執行這個命令,那么服務器在連接正常的情況下,將向客戶端返回 PONG 作為回復:

127.0.0.1:6379  PINGPONG

實際測試如下:

Redis 初步介紹工作完成,我們來看一下 Redis 都有哪些基本的數據結構機器常見操作。

Redis 的基本數據類型

字符串

哈希

列表

集合

有序集合

HyperLogLog

位圖

本文將介紹前五種常見的數據結構,后續更多的類型在其他文章單獨進行介紹和說明,常見的五種基本數據類型如下。

字符串

字符串(string)是 Redis 最基本的鍵值對類型,這種類型既可以保持普通文字,也可以保存序列化的二進制數據。

字符串類型會在數據庫中把單獨的一個鍵和單獨的一個值關聯起來,被關聯的鍵和值既可以是普通的文字數據,也可以是圖片、視頻、音頻、壓縮文件等更為復雜的二進制數據。字符串類型最大可以存儲 512M 數據。

字符串一些常見操作

SET 命令:為一個字符串設置相應的值,如 SET number 10086

GET 命令:獲取鍵對應的值

127.0.0.1:6379  SET number  10086 OK127.0.0.1:6379  GET number 10086 127.0.0.1:6379

GETRANGE:獲取截取字符串內容

STRLEN:獲取字符串長度,如 STRLEN email

SETEX:設置帶有過期時間(秒)的 KEY-VALUE,如 SETEX city 5 Beijing

秒殺活動 PSETEX 設置毫秒

MSET:設置多個 KEY-VALUE,如 MSET username jack sex male age 24

MGET:獲取多個 VALUE,如 MGET username sex age

APPEND: 用于在字符串結尾追加內容

INCR:數字自增加 1,如 INCR number

127.0.0.1:6379  INCR number(integer) 10087127.0.0.1:6379

INCRBY:數字加上指定的整數值

INCRBYFLOAT:數字加上指定的浮點數

DECR:數字自增減一

DECBY:數字減去指定的整數值

這些命令,大家都可以自己在。Redis 客戶端進行測試。

哈希類型

用來保存更復雜的結構化數據

HSET:設置哈希表字段

HMSET:設置哈希表多個字段

HGET:獲取哈希表字段值,如 HGET 8000 ename

HMGET:獲取多個哈希表字段值,如 HMGET 80000 ename job deptno

HGETALL:獲取所有哈希表字段值

HKEYS:獲取所有哈希表字段名

HLEN:哈希表中的字段數量

HEXISTS:判斷哈希表是否存在某個字段

HVALS:獲取哈希表中的所有字段值

HDEL:刪除哈希表的字段

HINCRBY:讓哈希表某個字段值加上指定的整數值,如 HINCRBY 8000 deptono 10

HINCRBYFLOART:讓哈希表某個字段值加上指定的浮點數

列表類型

當我們需要向 VALUE 保存序列化的數據,可以使用列表類型

RPUSH dname  技術部   后勤部   售后部
LPUSH dname  秘書處
LSET dname 2  銷售部
LRANGE dname 0 -1

RPUSH:在列表末尾新增值

LPUSH:在列表開頭新增值

LLEN:獲取列表長度

LINDEX:獲取列表某個元素,如 lindex dname 0

LINSERT:在某個位置插入元素,如 linsert dname before 秘書處 董事會

LPOP:刪除最左邊的元素 LPOP dname

RPOP:刪除列表最右邊的元素 RPOP dname

LREM:刪除列表某個元素,如

RPUSH employee Scott
RPUSH employee Jack
RPUSH employee Scott
LREM employee 1 Scott #  刪除第一個 Scott,不是指索引為一 

集合類型

假如要求數據不允許重復,則可以使用集合類型。

集合操作

SADD empno 8000SADD empno 8001SADD empno 8002SADD empno 8003 8004 8005SMEMBERS empno

SADD:將給定值添加到集合

SCARD:獲取集合長度,如:SCARD empno

SISMEMBER:判斷是否含有某個元素,如 SISMENBER empno 8000

SREM:刪除某個元素

SPOP:隨機刪除并返回集合的某個元素,如 SPOP empno

SRANDMEMBER:隨機返回集合中的元素,如 SRANDMEMBER empno 5

SUNION:組合兩個或多個集合并返回所有元素的列表

SMOVE:將成員從一個集合移動到另一個集合

有序集合

帶有排序功能的集合,Redis 按照元素分數值排序

ZADD keyword 0  han  0  jack ma  0  Andrew wu ZINCRBY keyword 1  han ZINCRBY keyword 5  jack ma ZINCRBY keyword 2  Andrew wu ZREVRANGE key 0 -1

ZCARD:獲取有序集合長度

ZCOUNT:查詢某個分數值區間內的元素數量,如 ZCOUNT keyword 5 10

ZSCORE:查詢元素的分數值

ZRANGE:獲取有序集合的內容(升序),如 ZRANGE keyword 0 -1

ZREVRANGE:獲取有序集合的內容(降序),如 ZREVRANGE keyword 0 -1

ZRANGEBYSCORE:獲取分數值區間內的集合內容(升序),如

zrangebyscore keyword 5 10 # 5-10
zrangebyscore keyword 5 (10 #  大于等于 5,  小于  10
zrangebyscore keyword 100000 +inf

ZREVRANGEBYSCORE:獲取分數值區間內的集合內容 (降序) zrevrangebyscore keyword 10 5

ZRANK:獲取元素的升序排名(從 0 開始)zrank keyword xx

ZREVRANK:獲取元素的降序排名(從 0 開始)

ZREM:刪除有序集合中的元素 ZREM keyword x y

ZREMRANGEBYRANK:刪除排名區間內的元素 zremrangebyrank keyword 0 2

ZREMRANGEBYSCORE:刪除分數值區間內的元素 zremrangebyscore keyword 0 -3

如 zremrangebyscore keyword inf (5000)

讀到這里,這篇“Redis 基本數據類型和操作方法有哪些”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-13發表,共計3416字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 环江| 什邡市| 揭东县| 神木县| 洛南县| 沈阳市| 宣武区| 中卫市| 大兴区| 拉孜县| 邓州市| 海林市| 博湖县| 公安县| 双辽市| 阳西县| 颍上县| 合水县| 河池市| 和硕县| 平武县| 辽中县| 滕州市| 修文县| 旺苍县| 吉隆县| 虞城县| 万全县| 甘洛县| 定襄县| 津市市| 滨州市| 香河县| 融水| 庆城县| 株洲县| 抚州市| 张北县| 宁夏| 顺昌县| 昌邑市|