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資料庫(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" />