- XiaoFeng.Memcached 目录
- Memcached技术知识
-
- XiaoFeng.Memcached 目录
- Memcached技术知识
-
Memcached缓存 用法实例作者 : Jacky 发布于 2024-09-10 18:12:03 浏览 228 次XiaoFeng.Memcached提供了友好的访问API。Memcached中间件,支持.NET框架、.NET内核和.NET标准库,一种非常方便操作的客户端工具。实现了Set,Add,Replace,PrePend,Append,Cas,Get,Gets,Gat,Gats,Delete,Touch,Stats,Stats Items,Stats Slabs,Stats Sizes,Flush_All,线程池功能。
XiaoFeng.Memcached
XiaoFeng.Memcached提供了友好的访问API。Memcached中间件,支持.NET框架、.NET内核和.NET标准库,一种非常方便操作的客户端工具。实现了Set,Add,Replace,PrePend,Append,Cas,Get,Gets,Gat,Gats,Delete,Touch,Stats,Stats Items,Stats Slabs,Stats Sizes,Flush_All,线程池功能。
Memcached缓存数据库连接驱动
Memcached连接串
memcached://memcached:123456@127.0.0.1:11211?ConnectionTimeout=10&ReadTimeout=10&SendTimeout=10&PoolSize=3 [<protocol>]://[[<username>:<password>@]<host>:<port>][?<p1>=<v1>[&<p2>=<v2>]] |----------|---|-----------|-----------|------|------|------------|-----------------------| | protocol | | username | password | host | port | database | params |
memcached 账号
123456 密码
127.0.0.1 主机
11211 端口
ConnectionTimeout 连接超时时长
ReadTimeout 读取数据超时时长
SendTimeout 发送数据超时时长
PoolSize 连接池中连接数量
最小的连接串是:memcached://127.0.0.1
实例化一个memcached对象
var memcached = new XiaoFeng.Memcached.MemcachedClient("memcached://memcached:123456@127.0.0.1:11211");
使用方法
//实例化 var memcached = new XiaoFeng.Memcached.MemcachedClient("memcached://memcached:123456@127.0.0.1:11211"); //最大压缩比 memcached.CompressLength = 1024; //协议 memcached.MemcachedProtocol = MemcachedProtocol.Text; //Hash算法 memcached.Transform = new XiaoFeng.Memcached.Transform.FNV1_64(); //给key设置一个值 var set = await memcached.SetAsync("abc", "abcda"); //如果key不存在的话,就添加 异步 var add = await memcached.AddAsync("a2", "abcde"); //用来替换已知key的value var replace = await memcached.ReplaceAsync("a3", "abc3"); //表示将提供的值附加到现有key的value之后,是一个附加操作 var append = await memcached.AppendAsync("a3", "a4f"); //将此数据添加到现有数据之前的现有键中 var prepend = await memcached.PrependAsync("a3", "a3d"); //一个原子操作,只有当casunique匹配的时候,才会设置对应的值 var cas = await memcached.CasAsync("a1", "aaa", 113); //获取key的value值,若key不存在,返回空。 var get = await memcached.GetAsync("a1"); //用于获取key的带有CAS令牌值的value值,若key不存在,返回空。 var gets = await memcached.GetsAsync("a1"); //获取key的value值,若key不存在,返回空。更新缓存时间 var gat = await memcached.GatAsync(5*24 * 60, "a1"); //获取key的value值,若key不存在,返回空。更新缓存时间 var gat = await memcached.GatAsync(6*24 * 60, "a1","a2"); //用于获取key的带有CAS令牌值的value值,若key不存在,返回空。支持多个key 更新缓存时间 var gats = await memcached.GatsAsync(5 * 24 * 60, "a1"); //删除已存在的 key(键) var delete = await memcached.DeleteAsync("a10"); //给key设置一个值 var set = await memcached.SetAsync("a10", 100); //递增 var incr = await memcached.IncrementAsync("a10", 10); //递减 var decr = await memcached.DecrementAsync("a10", 10); //修改key过期时间 var touch = await memcached.TouchAsync("a10", 24 * 60); //统计信息 var stats = await memcached.StatsAsync(); //显示各个 slab 中 item 的数目和存储时长(最后一次访问距离现在的秒数) var items = await memcached.StatsItemsAsync(); //显示各个slab的信息,包括chunk的大小、数目、使用情况等 var slabs = await memcached.StatsSlabsAsync(); //显示所有item的大小和个数 var sizes = await memcached.StatsSizesAsync(); //用于清理缓存中的所有 key=>value(键=>值) 对 var flushall = await memcached.FulshAllAsync();
所有评论(0)