使用Redis按键获取数据(获取redis中keys)
Redis是一个开源的进程内内存非关系型数据库,内存占用空间少,速度快,支持键/值,列表,集合,有序集合与高级特性的持久性存储,由它的可伸缩性,很容易的能够实现分布式的服务及高性能的应用。很多网站和服务依赖Redis去存储他们的结构化数据,并让它搭建缓存层,这里着重讲解如何基于Redis的键去获取数据。
Redis里所有的值都是通过对应的key去获取的,这里按照最常用的几种数据类型分别介绍一下按键获取数据的用法。
##### 一、字符串
假设Redis里以键`testkey`存储一个字符串`testvalue`,可以用以下方式来获取它:
“`python
import redis
# 连接Redis
r = redis.Redis(host=’localhost’, port=6379, db=0)
# 获取键testkey存储的值testvalue
value = r.get(“testkey”)
if value == b’testvalue’:
print(“Get value successfully!”)
也可以同时获取多个键的值,如下例中获取`testkey1`,`testkey2`的值:
```python# 获取多个键的值
values= r.mget("testkey1","testkey2")
##### 二、哈希
假设Redis里以键`testhash`存储了一个哈希数据,可以用以下方式获取:
“`python
# 获取键testhash存储的哈希
item = r.hgetall(“testhash”)
也可以获取哈希里的指定字段:
```python# 获取键testhash存储的哈希里指定字段name的值
name = r.hget("testhash","name")
##### 三、列表
假设Redis里以键`testlist`存储了一个列表,可以用以下方式获取:
“`python
# 获取键testlist存储的列表的首个元素
item = r.lpop(“testlist”)
也可以截取列表的某一段数据:
```python# 截取键testlist存储的列表从索引1(包含)至索引4(不包含)的部分
items = r.lrange("testlist",1,4)
##### 四、集合
假设Redis里以键`testset`存储了一个集合,可以用以下方式获取:
“`python
# 获取键testset存储的集合中任意一个元素
item = r.srandmember(“testset”)
也可以查看集合的成员数:
```python# 查看键testset存储的集合的成员数
size = r.scard("testset")
以上就是基于Redis的键获取数据的用法,用得越熟练,就可以让数据存储变得更加安全可靠,更大程度上提高服务性能。