1. 程式人生 > >Redis資料庫(set型別和zset型別)

Redis資料庫(set型別和zset型別)

一.set型別

set是一個集合,它是string型別的無序集合,set是通過hash table實現的,新增,刪除,查詢的時間複雜度都是O(1),對於集合我們可以取並集,交集,差集。通過這些操作我們可以實現SNS中好友推薦和Blog的tag功能。

set常見操作:

(1)sadd

向一個集合中新增一個元素。例如:sadd set1 Hello

(2)smembers

檢視集合中的所有元素。例如:smembers set1

(3)srem

刪除集合中一個指定的元素。例如:srem set1 Hello

(4)spop

隨機彈出set集合中德一個元素。例如:spop set1

(5)sdiff

求兩個集合的差集,比如sdiff set1 set2,表示保留set1中與set2不同的所有元素。

(6)sdiffstore

將返回的差集存進一個集合。例如:sdiffstore set3 set1 set2,表示把set1與set2的差集存進

集合set3。

(7)sinter

返回給定兩個集合的交集。例如:sinter set1 set2,表示返回set1和set2的交集。

(8)sinterstore

將兩個集合的交集存進一個集合。例如:sinterstore set3 set1 set2,表示把set1和set2的交集

存進集合set3。

(9)sunion

返回給定兩個集合的並集。例如:sunion set1 set2,表示返回set1和set2的並集。

(10)sunionstore

將兩個集合的並集存進一個集合。例如:sunionstore set3 set1 set2,表示把set1和set2的並集

存進集合set3

(11)smove

從第一個key對應的set中移除member並新增到第二個對應的集合中。

例如:smove set1 set2 Hello,表示把set1中的Hello元素移動到set2中。

(12)scard

返回key對應集合的元素的個數。例如:scard set1。

(13)sismember

判斷某一個元素是否為集合的元素。比如:sismember set1 Hello,表示判斷Hello是否為set1的中

的元素。

(14)srandmember

隨機返回名稱為key的set的一個元素。例如:srandmember set1。

二.zset型別

zset是在set的基礎上增加了順序,形成一個有序的集合。

zset的常見操作:

(1)zadd

向有序集合zset中增加一個元素。例如:zadd zset 1 Hello

(2)zrange

輸出zset中指定範圍內的的所有元素,按照score從小到大的順序。

例如:zrange zset 0 -1 withscores,表示輸出有序集合zset中所有的元素,並且輸出順序號。

(3)zrem

刪除名稱為key的zset集合中的元素member。例如:zrem set1 Hello。

(4)zincrby

把有序集合zset中的指定元素的序列號加上指定的值。例如:zincrby zset 4 Hello

(5)zrank

返回名稱為key的zset集合中元素的排名,按照下標從小到大的排名。例如:zrank zset Hello。

(6)zrevrank

返回名稱為key的zset集合中元素的排名,按照下表從大到小的排名。例如:zrevrank zset Hello。

(7)zrevrange

按照score從大到小的順序輸出集合中所有元素。例如:zrevrange zset 0 -1 withscores。

(8)zrangebyscore

返回集合中給定區間的元素。例如:zrangebyscore zset 2 3 withscores

(9)zcount

返回集合中score在給定區間的數量。zcount zset 2 3

(10)zcard

返回集合中元素的個數。

(11)zremrangebyrank

按照索引來刪除給定區間的元素。例如:zremrangebyrank zset 1 2

(12)zremrangebyscore

刪除score在指定範圍內的元素。例如:zremrangebyscore zset 1 2

Redis 的詳細介紹請點這裡 
Redis 的下載地址請點這裡

相關推薦

Redis資料庫set型別zset型別

一.set型別 set是一個集合,它是string型別的無序集合,set是通過hash table實現的,新增,刪除,查詢的時間複雜度都是O(1),對於集合我們可以取並集,交集,差集。通過這些操作我們可以實現SNS中好友推薦和Blog的tag功能。 set常見操作:

04_NoSQL資料庫Redis資料庫set型別zset型別

 sets型別及操作 Set是集合,它是string型別的無序集合。set是通過hash table實現的,新增,刪除和查詢複雜度都是0(1)。對集合我們可以取並集、交集、差集。通過這些操作

五十二、Redis 資料庫 2:set型別zset型別、hash型別

一、set集合型別(無序集合型別) redis裡面的set集合型別是string型別的無序集合,被稱為無序集合型別。 set元素最大可以包含(2的32次方-1)個元素。 1、集合滿足三個特點:

Redis】(sorted set) 有序集合資料型別的使用,應用問題

Redis 有序集合(sorted set)資料型別的使用,應用和問題 Overview Redis 有序集合(sorted set)資料型別的使用,應用和問題 redis-cli 操作資料庫 - n/a Python 操作 Redis

基本型別引用型別作為引數傳遞重要

基本型別和引用型別作為引數傳遞 引用型別資料和基本型別資料作為引數傳遞有沒有差別呢?我們用如下程式碼進行說明,並配合圖解讓大家更加清晰 1.基本資料型別傳遞 基本型別作為引數傳遞時,其實就是將基本型別變數x空間中的值複製了一份傳遞給呼叫的方法show(),當在show()方法中

[10]基本型別引用型別的引數傳遞

前言:主要為個人筆記 基本型別 程式碼: class Demo{ public static void main(String[] args){ int x=4;

Python基礎:List型別Tuple型別

List型別: List型別的定義: List是Python的內建型別,List是一種有序的集合。list構造簡單,直接用一對“[]”把list所用的元素括起來,並以“,”做間隔即可。list的元素並不要求必須是同類型的,一個list物件可以同時包含多個型別的元素。 L

c#中的值型別引用型別 裝箱拆箱 好文

  一,c#中的值型別和引用型別      眾所周知在c#中有兩種基本型別,它們分別是值型別和引用型別;而每種型別都可以細分為如下型別:       什麼是值型別和引用型別 什麼是

函式型別Function Types:函式型別其他型別一樣

函式型別(Function Types) 每個函式都有種特定的函式型別,由函式的引數型別和返回型別組成。 例如: 這個例子中定義了兩個簡單的數學函式:addTwoInts 和 multiplyTwoInts。這兩個函式都傳入兩個 Int型別, 返回一個合適的I

型別引用型別,深層複製淺層複製深拷貝淺拷貝最詳細了

要知道深層複製淺層複製的區別,首先要了解值型別和引用型別。變數分值型別和引用型別,深層複製和淺層複製都是針對引用型別變數的操作。值型別: 比如數值,字串,布林,undifined引用型別 : 比如陣列,物件,函式來張圖(手抖,有點醜):var num = 77;var id

java面向物件類與物件,區域性變數成員變數,基本型別引用型別作為引數傳遞

一.類和物件的區別 類是對某一類事物的抽象描述,而物件用於表示現實中該類事物的個體 可以將玩具模型看作是一個類,將一個個玩具看作物件,從玩具模型和玩具之間的關係便可以看出類與物件之間的關係。類用於描述多個物件的共同特徵,它是物件的模板。物件用於描述現實中的個體,它是類的例項 二.區域性變數和成員變數

C++個人學習歸納:char型別string型別的基本區別

型別 char string 相關標頭檔案 <cstring> <string> 標頭檔案說明 操作時需要 始終必要 定義變數 char name[size] string name 長度

Java資料型別轉換自動轉換強制轉換

自動資料型別轉換 自動轉換按從低到高的順序轉換。不同型別資料間的優先關係如下: 低———————————————>高 byte,short,char-> int -> long -> float -> doub

泛型約束型別引用型別

public class People { public int Id { get; set; } public string Name { get; set; } publi

修改mybatis-generator中資料庫型別Java型別的對映關係

離你越近的地方,路途越遠;最簡單的音調,需要最艱苦的練習。——《泰戈爾詩選》 1、修改型別對映關係 在專案中,為了降低資料的儲存空間,status狀態欄位一般使用tinyint, 1個tinyint型資料只佔用一個位元組,一個int型資料佔用四個位

ArcGIS模板資料複製帶有表達型別

帶有表達和子型別的要素類從GDB——->SDE 方法1:ArcCatlog中直接拷貝,會丟失子型別和表達,偶爾會成功,期間會出現假死,也有可能是真的掛掉了 方法2:運用ArcPy.Copy_m

C++學習筆記標準庫vector型別bitset型別

1. vector物件的定義和初始化 標頭檔案 < vector> 幾種初始化vector物件的方式: vector<T> v1; //vector儲存型別為T的物件,預設建構函式v1為空 vector<T> v

JAVA中值型別引用型別的不同面試常考

轉載:https://www.cnblogs.com/1ming/p/5227944.html1、 JAVA中值型別和引用型別的不同?[定義] 引用型別表示你操作的資料是同一個,也就是說當你傳一個引數給另一個方法時,你在另一個方法中改變這個變數的值,那麼呼叫這個方法是傳入的變

C#面試問題整理1型別引用型別

2.值型別 C#的所有值型別均隱式派生自System.ValueType: 結構體:struct(直接派生於System.ValueType); 數值型別: 整型:sbyte(System.SByte的別名),short(System.Int16),int(System.Int32),long(

C#變數型別1:引用型別型別

  C#是一種型別安全的語言。每一個變數都要求定義為一個特定的型別,並且要求儲存在變數中的值只能是這種型別的值。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />