Uso del almacenamiento en caché de memoria en Python
Al escribir aplicaciones de Python, el almacenamiento en caché es importante. Usar un caché para evitar la recomposición de datos o acceder a una base de datos lenta puede mejorar su rendimiento.
En Python, podemos usar el módulo memcached
para incluir almacenamiento en caché de memoria en nuestros scripts. Este artículo discutirá la preparación de las operaciones de almacenamiento en caché de la memoria y el uso principal de memcached
.
También aprenderemos sobre patrones avanzados usando Python cache
y set
.
Instalar el módulo Memcached
El paquete Memcached
está disponible para muchas plataformas:
- Para Linux, podemos instalarlo usando
yum install memcached
oapt-get install memcached
. Este script instalará el paquetememcached
desde un paquete preconstruido. - Para macOS, la opción más fácil es utilizar Homebrew. Después de instalar el administrador de paquetes Homebrew, escriba
brew install memcached
. - Para Windows, tendría que compilar
memcached
usted mismo yendo al sitio web oficial dememcached
.
Una vez instalado, memcached
se puede iniciar llamando al comando memcached
:
memcached
Establecer y obtener valores almacenados en caché usando Python
El paquete memcached
es fácil de comprender si nunca lo ha usado. Además, da acceso a un vocabulario considerable a través de la red.
Este diccionario se diferencia de un diccionario de Python tradicional en algunos aspectos, principalmente:
- Los valores y las claves deben estar en el tipo de datos de bytes
- Los valores y las claves se eliminan automáticamente después de un tiempo de vencimiento determinado
Por lo tanto, set
y get
son los dos procedimientos fundamentales para tratar con memcached
. Se emplean para dar un valor a una clave o para sacar un valor de una clave, como nos hubiésemos imaginado.
El siguiente código demuestra cómo utilizar memcached
como caché distribuida en red en sus aplicaciones de Python:
import memcache
mcobject = memcache.Client(["127.0.0.1:11212"], debug=0)
mcobject.set("some_key", "Some value")
value = mc.get("some_key")
mcobject.set("another_key", 3)
mcobject.delete("another_key")
mcobject.set("key", "1")
mcobject.incr("key")
mcobject.decr("key")
El protocolo de red memcached
es sencillo. Debido a su implementación ultrarrápida, es ventajoso almacenar datos que, de otro modo, llevaría mucho tiempo calcular u obtener de la fuente canónica de datos.
Si bien es sencillo, este ejemplo permite almacenar tuplas de clave-valor
en toda la red y acceder a ellas a través de múltiples copias distribuidas y en ejecución de su aplicación.
Este proceso es simple pero poderoso. Y es un primer paso significativo hacia la optimización de su aplicación.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn