Python&Redis 無序集合set、有序集合zset操作

haeasringnar發表於2018-10-07

1、Redis控制檯操作無序集合set

無序集合
元素為string型別
元素具有唯一性,不重複

redis操作:
設定
新增元素
SADD key member [member ...]
獲取
返回key集合所有的元素
SMEMBERS key
返回集合元素個數
SCARD key
其它
求多個集合的交集
SINTER key [key ...]
求某集合與其它集合的差集
SDIFF key [key ...]
求多個集合的合集
SUNION key [key ...]
判斷元素是否在集合中
SISMEMBER key member

2、Redis控制檯操作有序集合zset

sorted set,有序集合
元素為string型別
元素具有唯一性,不重複
每個元素都會關聯一個double型別的score,表示權重,通過權重將元素從小到大排序
元素的score可以相同

redis操作:
設定
新增
ZADD key score member [score member ...]
例項:
ZADD zset 1 redis
ZADD zset 2 mongodb

獲取
返回指定範圍內的元素
ZRANGE key start stop
返回元素個數
ZCARD key
返回有序集key中,score值在min和max之間的成員
ZCOUNT key min max
返回有序集key中,成員member的score值
ZSCORE key member

3、Python操作Redis無序集合set

import redis

# 連線池方式
pool = redis.ConnectionPool(host='127.0.0.1',port=6379)
r = redis.Redis(connection_pool=pool)
r.sadd('newset','b')
print(r.smembers('newset'))
print('獲取字串長度',r.scard('newset'))
print('獲取型別',r.type('newset'))

4、Python操作Redis有序集合zset

import redis

# 連線池方式
pool = redis.ConnectionPool(host='127.0.0.1',port=6379)
r = redis.Redis(connection_pool=pool)
r.zadd('zset','mysql',1)
r.zadd('zset','redis',2)
print(r.zrange('zset',0,3))
print('獲取字串長度',r.zcard('zset'))
print('獲取型別',r.type('zset'))

相關文章