公共部分:
import redis
pool = redis.ConnectionPool(host='localhost', port=6379)
conn = redis.Redis(connection_pool=pool)
conn.set('name', 'fentiao', 3) #设置key value 失效时间
conn.set('age', 10 , 3)
conn.set('scores', 100 , 3)
1.获取key对应的value
print(conn.get('name')) # 获取key对应的value
print(conn['name']) # 同样获取key对应的value
2.获取所有的key值
print(conn.keys())
输出:
[b'name', b'scores', b'age']
3当前redis数据库中数据条数;
print(conn.dbsize())
print(len(conn.keys()))
输出:
3
3
4.删除指定key-value值
conn.delete('scores')
print("正在删除key......")
print(conn.get('scores'))
输出:
正在删除key......
None
#将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
conn.save()
print("清除前:", conn.keys())
# 清除redis里面所有的key-value值
conn.flushall()
print("清除后:", conn.keys())
应用1:
页面点击数
import redis
pool = redis.ConnectionPool(host='localhost', port=6379)
conn = redis.Redis(connection_pool=pool)
conn.set('views', 19800)
conn.incr('views') # 加1
print(conn.get('views'))
输出:
b'19801'
应用2:
社交网站, 每一个标签都会有自己的用户群, 通过圈子可以找到有共同特征的人(eg:python开发, 电影…), 当一个用户加入一个或者多个圈子后, 系统可以向这个用户推荐圈子中的人。
import redis
pool = redis.ConnectionPool(host='localhost', port=6379)
conn = redis.Redis(connection_pool=pool)
选择集合存储
conn.sadd("python", 'user1')
conn.sadd("python", 'user2')
conn.sadd("python", 'user3')
conn.sadd("movie", 'user1')
conn.sadd("movie", 'user6')
conn.sadd("movie", 'user7')
获取某个圈子的成员
print(conn.smembers('python'))
print(conn.smembers('movie'))
输出:
{b'user1', b'user3', b'user2'}
{b'user1', b'user7', b'user6'}
获取两个圈子共同拥有的成员
print(conn.sinter('python', 'movie'))
输出:
{b'user1'}
获取并集
print(conn.sunion('python', 'movie'))
输出:
{b'user1', b'user2', b'user7', b'user6', b'user3'}