欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

翻译redis-natives-py

程序员文章站 2022-03-30 13:42:28
redis-natives-py redis-natives-py模块是对redis-py中Redis实体的简单抽象,以将其与python中的数据类型相对应。该模块简洁明了,但是...

redis-natives-py

redis-natives-py模块是对redis-py中Redis实体的简单抽象,以将其与python中的数据类型相对应。该模块简洁明了,但是功能强大。它没有采用ORMing或者model-messing,因为这些不是Redis等高性能的k-v存储软件的使用方向。

可以使用的数据类型

Primitive* (string)

Set*

ZSet

Dict*

List*

Sequence

上面列表中的每种数据类型都绑定到它对应的Redis实体。没有缓存。任何改变都会立即更新到数据库中,因此它是线程安全和数据一致的。其中带*的数据类型与其对应的python内置类型几乎有相同的接口。所以可以方便使用它存储数据,而不需要直接连接到数据库。

Features

绑定Redis实例,不缓存数据,数据变化立刻改变数据库

使用工具类支持key namespaces(see RedisNativeFactory and annotations)

大部分数据类型接口与python相同,方便与现有系统集成

FAQ

该模块性能如何?

redis-natives-py中性能是我主要的方向. 我尽量避免使用昂贵的操作,去操作高效的Redis,尽可能的减小内存消耗.

例子:数据类型

redis-natives-py是基于redis-py的,假定你已经安装redis-py,并且可以正常运行. 在下面的例子中我会忽略以下定义.

from redis import Redis

import redis_natives_py as rnatives

# Our Redis client instance

rClient = Redis()

数据类型都具有的功能

所有的数据类型都有下面的方法/属性,让你直接在对象上执行Redis任务

Getter/setter property called key. Changes will be reflected to the store immediately.

type() return the Redis-internal datatype name of the associated value

move(redisClient/id) moves the key into the database currently selected in the given Redisinstance or described by integer id

rename(newKey, overwrite=True) renames the current entity-key to newKey overwriting an exisiting key with the same name if overwrite is True

Property expiration yields the remaining time in seconds until the entity will be destroyed when it was marked as volatile before

let_expire(nSecs) marks the entity as volatile and determines that it will be automatically destroyed in nSecs

let_expire_at(timestamp) same as line above, but this time it will be destroyed at given timetimestamp

后面的等明白了再翻吧,呵呵,半吊子英语+Google翻译太纠结了…