Litedis 是一个类似 Redis 的轻量级的、本地的、开箱即用的 NoSQL 数据库
Project description
Litedis
Litedis 是一个类似 Redis 的轻量级的本地的 NoSQL 数据库,支持基本的数据结构和操作。和 Redis 最大的不同是,Litedis 开箱即用,无需另开服务器进程。
特性
- 实现了基础数据结构及相关操作:
- STING
- LIST
- HASH
- SET
- ZSET
- 支持设置过期时间
- 支持 AOF 持久化
安装和支持版本
- 使用 pip 安装
pip install litedis
-
支持的 Python 版本
从 litedis3.0 开始,只支持 Python3.10+
使用示例
持久化和数据库设置
- Litedis 是默认开启持久化的,可以通过参数进行相关设置。
- Litedis 可以将数据存储到不同的数据库下,可以通过 dbname 参数设置
from litedis import Litedis
# 关闭持久化
litedis = Litedis(persistence_on=False)
# 设置持久化路径
litedis = Litedis(data_path="path")
# 设置数据库名称
litedis = Litedis(dbname="litedis")
STRING 的使用
import time
from litedis import Litedis
litedis = Litedis()
# set and get
litedis.set("db", "litedis")
assert litedis.get("db") == "litedis"
# delete
litedis.delete("db")
assert litedis.get("db") is None
# expiration
litedis.set("db", "litedis", px=100) # 100毫秒后过期
assert litedis.get("db") == "litedis"
time.sleep(0.11)
assert litedis.get("db") is None
LIST 的使用
from litedis import Litedis
litedis = Litedis()
# lpush
litedis.lpush("list", "a", "b", "c")
assert litedis.lrange("list", 0, -1) == ["c", "b", "a"]
litedis.delete("list")
# rpush
litedis.rpush("list", "a", "b", "c")
assert litedis.lrange("list", 0, -1) == ["a", "b", "c"]
litedis.delete("list")
# lpop
litedis.lpush("list", "a", "b")
assert litedis.lpop("list") == "b"
assert litedis.lpop("list") == "a"
assert litedis.lrange("list", 0, -1) == []
assert not litedis.exists("list") # 当所有元素被弹出后,相应的 List键 会自动删除
Hash 的使用
from litedis import Litedis
litedis = Litedis()
litedis.delete("hash")
# hset
litedis.hset("hash", {"key1":"value1", "key2":"value2"})
assert litedis.hget("hash", "key1") == "value1"
# hkeys and hvals
assert litedis.hkeys("hash") == ["key1", "key2"]
assert litedis.hvals("hash") == ["value1", "value2"]
SET 的使用
from litedis import Litedis
litedis = Litedis()
litedis.delete("set", "set1", "set2")
# sadd
litedis.sadd("set", "a")
litedis.sadd("set", "b", "c")
members = litedis.smembers("set")
assert set(members) == {"a", "b", "c"}
litedis.sadd("set1", "a", "b", "c")
litedis.sadd("set2", "b", "c", "d")
# inter
result = litedis.sinter("set1", "set2")
assert set(result) == {"b", "c"}
# union
result = litedis.sunion("set1", "set2")
assert set(result) == {"a", "b", "c", "d"}
# diff
result = litedis.sdiff("set1", "set2")
assert set(result) == {"a"}
ZSET 的使用
from litedis import Litedis
litedis = Litedis()
litedis.delete("zset")
# zadd
litedis.zadd("zset", {"a": 1, "b": 2, "c": 3})
assert litedis.zscore("zset", "a") == 1
# zrange
assert litedis.zrange("zset", 0, -1) == ["a", "b", "c"]
# zcard
assert litedis.zcard("zset") == 3
# zscore
assert litedis.zscore("zset", "a") == 1
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
litedis-3.0.1.tar.gz
(24.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
litedis-3.0.1-py3-none-any.whl
(29.8 kB
view details)
File details
Details for the file litedis-3.0.1.tar.gz.
File metadata
- Download URL: litedis-3.0.1.tar.gz
- Upload date:
- Size: 24.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13ff568a53a880c22aeadb75ec0921b7f3d4f504f792ab869ebe6c3bc413ef38
|
|
| MD5 |
fe166155a34442a4a2312b6d149f23ba
|
|
| BLAKE2b-256 |
5dd4889d4168196059cfda7f307c816b3138ec4f8083b396e53a6fe9d271ddb2
|
File details
Details for the file litedis-3.0.1-py3-none-any.whl.
File metadata
- Download URL: litedis-3.0.1-py3-none-any.whl
- Upload date:
- Size: 29.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac7b6b09ce94e94f3dd95a94eb3958f06744e34ff561f8ce1aa5ad4ad8005013
|
|
| MD5 |
d64b81a575c2f201e1d6177344c5e7ad
|
|
| BLAKE2b-256 |
c08b4c28d4116e7624ddeaa43c653f3c20ac566f23372b09e0723b1004ce9f75
|