miniredis项目推荐
miniredis Pure Go Redis server for Go unittests 项目地址: https://gitcode.com/gh_mirrors/mi/miniredis
项目基础介绍和主要编程语言
miniredis是一个纯Go语言编写的Redis测试服务器,专为Go单元测试设计。它允许开发者在不依赖外部Redis实例的情况下,进行Redis相关代码的单元测试。通过模拟Redis服务器的功能,miniredis提供了一个轻量级、内存中的Redis替代方案,使得测试过程更加简单、快速和可靠。
项目核心功能
miniredis实现了Redis服务器的大部分核心功能,包括但不限于:
- 连接管理:支持AUTH、ECHO、HELLO、PING、SELECT、SWAPDB、QUIT等命令。
- 键值操作:支持COPY、DEL、EXISTS、EXPIRE、KEYS、MOVE、PERSIST、RANDOMKEY、RENAME、SCAN、TOUCH、TYPE、UNLINK等命令。
- 事务处理:支持DISCARD、EXEC、MULTI、UNWATCH、WATCH等命令。
- 服务器管理:支持DBSIZE、FLUSHALL、FLUSHDB、TIME、COMMAND、INFO等命令。
- 字符串操作:支持APPEND、BITCOUNT、BITOP、DECR、GET、INCR、MGET、MSET、SET等命令。
- 哈希操作:支持HDEL、HEXISTS、HGET、HINCRBY、HKEYS、HLEN、HMGET、HMSET、HSET等命令。
- 列表操作:支持BLPOP、BRPOP、LPUSH、LRANGE、LREM、RPOP、RPUSH等命令。
- 发布/订阅:支持PSUBSCRIBE、PUBLISH、PUBSUB、PUNSUBSCRIBE、SUBSCRIBE、UNSUBSCRIBE等命令。
- 集合操作:支持SADD、SCARD、SDIFF、SINTER、SISMEMBER、SMEMBERS、SMOVE、SPOP等命令。
- 有序集合操作:支持ZADD、ZCARD、ZCOUNT、ZINCRBY、ZINTER、ZRANGE、ZREM、ZSCORE等命令。
- 流操作:支持XACK、XADD、XAUTOCLAIM、XCLAIM、XDEL、XGROUP、XINFO、XLEN、XRANGE等命令。
- 脚本操作:支持EVAL、EVALSHA、SCRIPT LOAD、SCRIPT EXISTS、SCRIPT FLUSH等命令。
- 地理位置操作:支持GEOADD、GEODIST、GEOHASH、GEOPOS、GEORADIUS等命令。
- HyperLogLog操作:支持PFADD、PFCOUNT、PFMERGE等命令。
项目最近更新的功能
miniredis最近更新的功能包括:
- Redis 6 RESP3协议支持:增加了对Redis 6 RESP3协议的支持,使得miniredis能够更好地与Redis 6客户端进行交互。
- XADD和SRANDMEMBER修复:修复了XADD和SRANDMEMBER命令中的一些问题,提高了命令的稳定性和准确性。
- Go版本要求更新:项目现在要求Go语言版本至少为1.17,以利用最新的Go语言特性和优化。
- Redis Sentinel支持:引入了minisentinel,使得miniredis能够支持Redis Sentinel的测试。
通过这些更新,miniredis不仅保持了与最新Redis版本的兼容性,还进一步提升了其在单元测试中的实用性和可靠性。
miniredis Pure Go Redis server for Go unittests 项目地址: https://gitcode.com/gh_mirrors/mi/miniredis
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考