文章456
标签244
分类59
将图片转为字符图片的Rust实现

将图片转为字符图片的Rust实现

使用Rust实现跳表LruCache

使用Rust实现跳表LruCache

LRU(Least Recently Used) 是一种使用广泛的缓存数据替换策略,目的是在有限的内存空间中尽可能保留最有价值的缓存数据;其核心本意是,在资源出现不足时,剔除掉最近最少使用的数据,为新数据提供存放空间;

本文首先讲解了LRU算法,随后给出了LruCache的Rust实现;

源代码:

关联文章:


使用Rust实现跳表Skiplist

使用Rust实现跳表Skiplist

Skiplist是一种数据结构,它允许快速查询一个有序连续元素的数据链表,跳跃列表的平均查找和插入时间复杂度都是O(logn),优于普通队列的O(n),Skiplist被用在Redis、LevelDb中;

本文首先讲解了Skiplist,随后给出了Rust实现;

源代码:

关联文章:


使用Rust实现布隆过滤器BloomFilter

使用Rust实现布隆过滤器BloomFilter

布隆过滤器(Bloom Filter)是一个基于Hash的概率性的数据结构,它是由一个很长的二进制数组组成,用来检查一个元素可能存在集合中,和一定不存在集合中;

它的优点是空间效率高,但是有一定false positive(假阳性:元素不在集合中,但是布隆过滤器显示在集合中);

本文首先介绍了BloomFilter,随后给出了Rust实现;

源代码:


mini-redis项目-6-测试与示例

mini-redis项目-6-测试与示例

mini-redis项目-5-客户端

mini-redis项目-5-客户端

mini-redis项目-4-服务端

mini-redis项目-4-服务端

mini-redis项目-3-连接层

mini-redis项目-3-连接层

上一篇文章 《mini-redis项目-2-存储层》 中讲解了mini-redis数据存储层的实现,这一篇在这个基础之上,讲解连接层的实现;

连接层负责建立服务端和客户端之间的连接,通过tokio框架我们可以异步的处理连接;

源代码:

系列文章:


mini-redis项目-2-存储层

mini-redis项目-2-存储层

mini-redis项目-1-简介

mini-redis项目-1-简介

最近看完了tokio,其中tokio官方提供的mini-redis项目非常的好,跟着教程完整的做了一遍,并且对很多地方根据自己的理解重新实现了(比如错误处理、文件组织等);

这里会分多篇文章进行总结,这里是第一篇;

源代码:

系列文章: