文件名称:redis:Redis 的超级简单实现,如 GO 中 AVL 树顶部的内存缓存
文件大小:12KB
文件格式:ZIP
更新时间:2024-06-20 09:02:27
Go
Redis 的超级简单实现,如 GO 中 AVL 树顶部的缓存 特征: GET,SET,UNSET,NUMEQUALTO 都是 log(n) 有客户端事务支持。 含义 回滚事务日志存储在客户端。 每个操作都提交给服务器,并且在回滚的情况下,客户端将一次性将回滚日志发送回服务器。 支持嵌套事务。 支持的命令:GET、SET、UNSET、NUMEQUALTO、BEGIN、COMMIT、ROLLBACK、END 笔记: 事务不会锁定正在修改的变量。 在回滚的情况下,值将被重置为事务内部对该变量第一次操作时的值。 基于哈希的键值存储(如 redis)可能是读取大量使用的更好选择。 但他们不保证恒定时间插入(以防插入导致重新哈希) 锁定现在处于树级别,并且在读取和写入时都会发生。 TODO是做键值对锁,支持无锁读。 跑步: 服务器:转到服务器文件夹并运行 $ go run ser
【文件预览】:
redis-master
----README.md(1KB)
----avltree()
--------pairtree.go(3KB)
--------node.go(957B)
--------tree.go(5KB)
--------objecttree.go(1KB)
--------treeadd.go(4KB)
--------treeremove.go(6KB)
----server()
--------.DS_Store(6KB)
--------server.go(215B)
----client()
--------client.go(5KB)
----redis()
--------redis.go(2KB)
----.DS_Store(6KB)