redis 模块

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供listsetzsethash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

redis连接实例是线程安全的,可以直接将redis连接实例设置为一个全局变量,直接使用。如果需要另一个Redis实例(or Redis数据库)时,就需要重新创建redis连接实例来获取一个新的连接。同理,python的redis没有实现select命令。

1、redis 模块的安装
pip3 install redis
2、redis 链接

连接redis,加上decode_response=True,写入的键值对中的valuestr类型,不加这个参数写入的规则为字节类型。

import redis

r = redis.Redis(host='localhost', port=6379, decode_response=True) # redis默认的端口号为6379
r.set('name', 'value')
print(r['name'])
print(r.get('name'))
print(type(r.get('name')))
3、链接池

redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立/释放连接的开销。默认,每个redis实例都会维护一个自己的连接池。

可以直接建立一个连接池,然后作为参数redis,这样就可以实现多个redis实例共享一个连接池。

import redis

pool = redis.ConnectionPool(host='localhost', port=6379, decode_response=True)

r = redis.Redis(connection_pool=pool)
r.set('gender', 'male')
print(r.get('gender'))

这里只对 Python 使用 redis 进行简单的介绍,具体的操作会在 redis 系列的博文中进行具体介绍,随后会在这里更新地址。

你可能感兴趣的:(#,Python,模块)