aprendizaje ReDiS servidor 001

aprendizaje ReDiS servidor 001

I. Introducción:

Redis utilizando un lenguaje ANSIC, red de apoyo, basado en la persistencia de la memoria puede iniciar sesión, tipo de valor-clave bases de datos no relacionales, y proporciona API en varios idiomas.

A menudo se utiliza como memoria caché, el middleware mensaje de operación.

En segundo lugar, las características:

Más rápido, ya que los datos almacenados en la memoria

Soporte para tipos de datos avanzados y una cuerda de soporte, tablas hash, listas, conjuntos, conjunto ordenado

servicios de apoyo, las operaciones son atómicas

Características ricos: se puede utilizar para almacenar en caché, el mensaje, pulse la tecla para ajustar el tiempo de caducidad, se eliminarán de forma automática después de la expiración

Tres, la conexión del servidor Redis python3

1 redis, la situación general está conectado

from redis import Redis

# 实例化redis对象
r = Redis(host='localhost', port=6379, db=0, password='123456')
r.set('name1', 'zhangsan1')  # b'zhangsan'
name1 = r.get('name1')
print(name1)

Este caso se conectan a la base de datos, el acceso al tipo de datos es bytes, el código de acceso debe transferir la mirada, generalmente no se recomienda este enfoque

2, el conjunto de conexiones Redis

import redis

pool = redis.ConnectionPool(host='127.0.0.1', port=6379, password='123456', decode_responses=True)  # decode_response,默认值是False,如果我们把这个值改为True,则避免了转码流程(上述出现的字节类型的情况),直接对原数据进行操作。
r = redis.Redis(connection_pool=pool)
r.set('name2', 'zhangsan2')
print(r.get('name2'))  # b'zhangsan2'
r.close()

3, modo de canalización

Para el comando envío de lote, también se utiliza para la transation transacción.

Puede haber múltiples comandos juntos, un Redis enviados al servidor para reducir la latencia de red IO.

import redis

r = redis.Redis(host='127.0.0.1', port=6379, db=0, password="123456", decode_responses=True)

# 创建一个管道对象,pipeline 的模式用来解决批量提交请求
pipe = r.pipeline(transaction=False)

try:
    # 链式操作
    pipe.set("name3", "zhangsan3").set("age",18).set("sex",1)
except Exception as e:
    print(e)
    # 把管道清空
    pipe.reset()
else:
    # 执行操作
    res = pipe.execute()
    print(res)  # [True, True, True]

entorno de producción en Redis generales se agrupan modo, el modo de clúster cuando se utiliza la tubería, la tubería cuando se crea un objeto, es necesario especificar pipe =r.pipeline(transaction=False)

tubería de gestión de contexto:

import redis

redis_db = redis.Redis(host='127.0.0.1',port=6379, db=0, password="123456", decode_responses=True)

with redis_db.pipeline(transaction=False) as pipe:
    pipe.sadd('seta', 1).sadd('seta', 2).srem('seta', 2).lpush('lista', 1).lrange('lista', 0, -1)
    result = pipe.execute()
    
print(result)  # [1, 1, 1, 1, ['1']]

Anteriormente.

Okami:

https://www.cnblogs.com/zepc007/p/10404840.html

https://www.jianshu.com/p/8505ff9dce5e

https://blog.csdn.net/pushiqiang/article/details/80444633

https://www.cnblogs.com/kangoroo/p/7647052.html

Supongo que te gusta

Origin www.cnblogs.com/sirxy/p/12580612.html
Recomendado
Clasificación