# asy-cache **Repository Path**: g_night/asy-cache ## Basic Information - **Project Name**: asy-cache - **Description**: 分布式cache - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-18 - **Last Updated**: 2021-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: go-main ## README # asy-cache #### 介绍 分布式缓存 服务中心:https://gitee.com/g_night/asy-cache-center 客户端:https://gitee.com/g_night/asy-cache-client 目前在提升map读写性能,待采用方案:[asy-zone-map](https://gitee.com/g_night/asy-zone-map)(读写10w数据,大概4倍性能提升) #### 软件架构 1. 采用LRU算法淘汰:LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。 2. 多机分布,可注册到多个服务中心暴露自身服务,一致性哈希算法定位key所在位置 3. 多虚拟节点,单机映射到多个节点,缓解key分布不均匀的问题 4. 基于gin对外开放接口,可自定义实现通信方式(参考`lru_net.go`) #### 使用说明 修改`conf.yaml`文件启动即可 ```yaml # 本机gin服务地址 ip: "http://localhost" # 服务端口 port: ":8001" # 设置虚拟节点数目 virtualnode: "3" # 零代表设置为默认大小2G,否则输入指定字节数 maxspace: "0" # 服务中心 center: - "http://localhost:8000" - "http://localhost:7999"- "http://localhost:7999" ``` #### 提示 建议内网开放,如果需要对外,需要实现密钥认证