研究如何存取关注关系到Redis中(关注关系如何存redis)

Redis是一个高性能的Key-Value内存数据库。它的特征是支持存储的value类型相对更多,从字符串(String)、散列(Hash)、列表(List)、集合(Set)及有序集合(sorted_set)等。用于存取关注关系的Redis可以有效的缩短查询时间,由于其以内存的方式存在,因此效率和速度都有极大的提高。

针对存取关注关系的Redis操作,可以采用字符串类型(String)来实现,用户和关注者以key-value的格式记录在Redis里,用户作为key,以列表/Set/Hash来存放关注者作为value。

1、关注关系以列表类型(List)存放,比如userId为1的用户关注了userId为2,3,4三个用户,则对Redis进行如下操作:

“`python

#set

connection.sadd(“user:1:following”,2,3,4)

#list

conn.rpush(“user:1:following”,2,3,4)


2、关注关系以Set类型(Set)存放,由于Set元素不可重复,那么就可以避免重复关注的问题,userId为1的用户关注了userId为2,3,4三个用户,则对Redis进行如下操作:

```python
#set
connection.sadd("user:1:following",2,3,4)

3、关注关系以Hash类型(Hash)存放,一般把用户某个字段作为Hash的key,把该字段对应的value作为Hash的value。只需增加、删除、查找等操作即可实现关注关系,例如用户昵称及userId,userId为1的用户关注了userId为2,3,4三个用户,则对Redis进行如下操作:

“`python

#hash

#增加

conn.hset(“user:1:following”, 2, “Alex”)

conn.hset(“user:1:following”, 3, “Jack”)

conn.hset(“user:1:following”, 4, “Kkpy”)

#删除

conn.hdel(“user:1:following”, 3)

#查询

conn.hget(“user:1:following”, 2)


以上就是如何存取关注关系到Redis中的方法。由于Redis易用,存取速度快,多种类型,而且可以在一条命令中操作多种数据类型,其性能优越,更适合存储如关注关系这样的数据结构。

数据运维技术 » 研究如何存取关注关系到Redis中(关注关系如何存redis)