使用python连接redis库以及常用操作

执行时一定要在终端打开redis
执行命令为 cd /usr/local/redis-5.0.3/src/
./redis-server 打开服务端

import redis

如何连接redis?

第一种方式****

redis.Redis(host='localhost', port=6379)
conn = redis.Redis()

conn.set('name', 'fentiao', 3)
print(conn.get('name'))

print("等待3秒........")
time.sleep(3)
print(conn.get('name'))

*********第二种方式

为了减少每次建立连接, 释放连接的开销, 推荐使用连接池。
多个redis对象可以共用一个连接池。

pool = redis.ConnectionPool(host='localhost', port=6379)
conn = redis.Redis(connection_pool=pool)
conn.set('name', 'tutu', 3)  # 4代表的是失效时间, 单位为秒
 默认返回bytes类型, 如果转换, 需要解码为utf-8编码格式
print(conn.get('name').decode('utf-8'))
print("等待3秒........")
time.sleep(3)
print(conn.get('name'))

在这里插入图片描述

import redis

pool = redis.ConnectionPool(host='localhost', port=6379)
conn = redis.Redis(connection_pool=pool)

conn.set('name', 'fentiao', 3)
conn.set('age', 10 , 3)
conn.set('scores', 100 , 3)
print(conn.get('name').decode('utf8')) #设置为字符型
print(conn['name'])


# 获取所有的key值
print(conn.keys())
print(len(conn.keys()))


# 当前redis数据库中数据条数;
print(conn.dbsize())


# 删除指定key-value值
conn.delete('scores')
print("正在删除key......")
print(conn.get('scores'))



# 将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
conn.save()



print("清除前:", conn.keys())
# 清楚redis里面所有的key-value值
conn.flushall()

print("清除后:", conn.keys())

在这里插入图片描述

import redis

pool = redis.ConnectionPool(host='localhost', port=6379)
conn = redis.Redis(connection_pool=pool)

conn.set('views', 19800)
conn.incr('views')   #对其值加一
print(conn.get('views'))

输出结果为 b’19801’
使用redis获取某个圈子的数据

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'))
# 获取两个圈子共同拥有的成员
print(conn.sinter('python', 'movie'))

# 获取并集
print(conn.sunion('python', 'movie'))

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43279936/article/details/86522981