您的位置:首页 > 数据库 > Redis

Redis in Python:Redis数据类型

2017-05-23 00:45 357 查看

Redis数据类型:

Redis支持五种基本数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(有序集合)。

1.string(字符串):

string类型是Redis最基本的数据类型,一个键最大能存储512MB。

string类型是二进制安全的,可以包含任何数据,比如jpg图片或者序列化的对象 。

实例:

>>> import redis
>>> r = redis.Redis()
>>> r.set('name', 'xiemanR')
True
>>> r.get('name')
b'xiemanR'
>>>
实例中键为name,值为字符串xiemanR。

2.hash(哈希):

hash 是一个键名对集合。

hash是一个string类型的key和value的映射表,hash特别适合用于存储对象。

每个 hash 可以存储  232
-1 键值对(40多亿)。

实例:

>>> import redis
>>> r = redis.Redis()
>>> r.hset('xiemanR', 'age', 18)
1
>>> r.hget('xiemanR', 'age')
b'18'
>>>
实例中hash的name为xiemanR,key为age,值为18;使用hget获取键age的值。

3.list(列表):

list是字符串列表,按照插入顺序排序。可以在列表的左边或者右边添加一个元素。
每个列表最多可存储
232 - 1 元素 (40多亿)

实例:

>>> import redis
>>> r = redis.Redis()
>>> r.lpush('lang', 'Python')
>>> r.lpush('lang', *['Java', 'Go', 'PHP', 'C++', 'JS'])
>>> r.lrange('lang', 0, 3)
[b'JS', b'C++', b'PHP', b'Go']
>>>


4.set(集合):

set是string类型的无序集合,集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

sadd函数:

添加一个string元素到,key对应的set集合中,成功返回1,如果元素已经在集合中返回0,key对应的set不存在返回错误。

smembers函数:

获取set集合的值。

实例:

>>> import redis
>>> r = redis.Redis()
>>> r.sadd('sql', 'mysql')
1
>>> r.sadd('sql', 'sqlite')
1
>>> r.sadd('sql', 'redis')
1
>>> r.sadd('sql', 'mysql')
0
>>> r.smembers('sql')
{b'sqlite', b'mysql', b'redis'}
>>>
实例中 mysql添加了两次,因为集合内元素是唯一的,第二次插入的元素被忽略返回0。

5.zset(有序集合):

zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

zset的成员是唯一的,但分数(score)却可以重复。

zadd函数:

添加元素到集合,元素在集合中存在则更新对应score。

zrangebyscore函数:

获取通过分数排序的值。

实例:

>>> import redis
>>> r = redis.Redis()
>>> r.zadd('sqltype', 'redis', 0.1)
1
>>> r.zadd('sqltype', 'mysql', 0.5)
1
>>> r.zadd('sqltype', 'sqlite', 0.4)
1
>>> r.zrangebyscore('sqltype', 0, 2)
[b'redis', b'sqlite', b'mysql']
>>>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: