一、Redis的安装
Redis下载地址如下:https://github.com/dmajkic/redis/downloads
解压后根据自己机器的实际情况选择32位或者64位。下载解压后图片如下:
- redis-server.exe redis服务器的daemon启动程序
- redis.conf redis配置文件
- redis-cli.exe redis命令行操作工具。当然,也可以用telnet根据其纯文本协议来操作
- redis-check-dump.exe 本地数据库检查
- redis-check-aof.exe 更新日志检查
- redis-benchmark.exe 性能测试,用以模拟同时由N个客户端发送M个 SETs/GETs 查询 (类似于 Apache的 ab 工具)
上图中的redis-server.exe为其服务端程序。双击它运行。
如果你希望将此服务设置为windows系统服务,下载Redis服务安装软件(https://github.com/rgl/redis/downloads),安装即可。
安装完成在服务(右击我的电脑--管理--服务和应用程序--服务)中找到此服务,将其设置为自动延迟启动即可。
在redis文件夹下,找到redis-cli.exe文件,它就是Redis客户端程序。
打开输入:set name jerry
即在Redis中插入了一条key为name,value为jerry的数据,
继续输入:get name
得到value保存的数据jerry。
使用使用:keys * 可以查询Redis一共保存了多少条数据
二、在Asp.net中使用Redis
1、先使用Nuget安装个 C# Redis client for the Redis NoSQL DB。
其实就是ServiceStack.Redis,这是官网推荐的C#客户端。
下面来看看最简单的示例:
public ActionResult Index() { RedisClientManagerConfig RedisConfig = new RedisClientManagerConfig(); RedisConfig.AutoStart = true; RedisConfig.MaxReadPoolSize = 60; RedisConfig.MaxWritePoolSize = 60; PooledRedisClientManager prcm = new PooledRedisClientManager(new List<string>() { "127.0.0.1" }, new List<string>() { "127.0.0.1" }, RedisConfig); using (IRedisClient RClient = prcm.GetClient()) { RClient.Add("p", "撼地神牛"); } using (IRedisClient RClient = prcm.GetClient()) { Response.Write(RClient.Get<string>("p")); } return Content(""); }
更多关于Redis的操作,建议可以观看红丸的《Redis实战》,以及这个不错的网址:http://redis.readthedocs.org/en/latest/。
随笔分类 - 性能:缓存
缓存学习笔记
ServiceStack.Redis常用操作 - 事务、并发锁
摘要: 一、事务 使用IRedisClient执行事务示例: using (IRedisClient RClient = prcm.GetClient()) { RClient.Add("key",1); using (IRedisTransaction IRT = RClient.CreateTransaction()) { IRT.QueueCommand(r => r.Set("key", 20)); IRT.QueueCommand(r => r.Increment("key",1)); ...阅读全文
posted @ 2014-03-18 18:57 逆心 阅读(1198) | 评论 (4) 编辑
ServiceStack.Redis 之 IRedisTypedClient<第四篇>
摘要: IRedisTypedClient IRedisTypedClient类相当于IRedicClient的强类型版,其方法与属性大多数与IRedisClient类似。 它支持在Redis中使用Linq查询的强大的类,它本身是一个泛型,IRedisClient的泛型方法As获得对象。 其方法原型如下: IRedisTypedClient As(); 1、IEntityStore接口内容 其中IRedisTypedClient这个类实现了这个接口IEntityStore,该接口要求提供的功能如下:方法说明Delete根据实体删除一条记录DeleteAll全部删除DeleteById根...阅读全文
posted @ 2014-03-17 19:58 逆心 阅读(801) | 评论 (1) 编辑
摘要: 一、Key Key命令速查:命令说明DEL删除给定的一个或多个 key,不存在的 key 会被忽略,返回值:被删除 key 的数量DUMP序列化给定 key,返回被序列化的值,使用 RESTORE 命令可以将这个值反序列化为 Redis 键EXISTS检查给定key是否存在EXPIRE为给定key设置有效时间,接受时间点EXPIREAT为给定key设置有效时间,接受时间戳timestampKEYS查找所有符合给定模式pattern的key;KEYS * 匹配数据库中所有 key;KEYS h?llo 匹配 hello,hallo等。KEYS h[ae]llo匹配hello和halloMIGR.阅读全文
posted @ 2014-03-13 17:36 逆心 阅读(4561) | 评论 (0) 编辑
ServiceStack.Redis之IRedisClient<第三篇>
摘要: 事实上,IRedisClient里面的很多方法,其实就是Redis的命令名。只要对Redis的命令熟悉一点就能够非常快速地理解和掌握这些方法,趁着现在对Redis不是特别了解,我也对着命令来了解一下这些方法。一、属性 IRedisClient的属性如下:属性说明ConnectTimeout连接超时Db当前数据库的ID或下标DbSize当前数据库的 key 的数量HadExceptionsHashes存储复杂对象,一个value中有几个fieldHostRedis的Server服务器主机地址Info返回关于 Redis 服务器的各种信息和统计数值LastSave最近一次 Redis 成功将...阅读全文
posted @ 2014-02-27 17:52 逆心 阅读(3030) | 评论 (5) 编辑
摘要: 一、Redis的安装 Redis下载地址如下:https://github.com/dmajkic/redis/downloads 解压后根据自己机器的实际情况选择32位或者64位。下载解压后图片如下: redis-server.exe redis服务器的daemon启动程序redis.conf redis配置文件redis-cli.exe redis命令行操作工具。当然,也可以用telnet根据其纯文本协议来操作redis-check-dump.exe 本地数据库检查redis-check-aof.exe 更新日志检查redis-benchmark.exe 性能测试,用以模拟同时由N个...阅读全文
posted @ 2014-02-27 10:52 逆心 阅读(1071) | 评论 (0) 编辑
摘要: Memcached是“分布式”的内存对象缓存系统,那么不需要“分布”的、不需要共享的或者干脆规模小到只有一台服务器的应用,Memcached不会带来任何好处,相反还会拖慢系统效率,因为网络连接同样需要资源,如果只是本地级缓存,使用Memcached是非常不划算的。 Memcached在很多时候都是作为数据库前端Cache使用的。因为它比数据库少了很多SQL解析、磁盘操作等开销,而且它是使用内存来管理数据的,所以它可以提供比直接读取数据库更好的性能。在大型系统中,访问同样的数据是很频繁的,Memcached可以大大降低数据库压力,使系统执行效率提升。另外,Memcached也经常作为服务器...阅读全文
posted @ 2014-02-14 14:06 逆心 阅读(125) | 评论 (0) 编辑
摘要: 缓存从分布来说有两种:一、客户端缓存 客户端缓存其实是浏览器的事情,当我们去访问一个新的网站的时候,第一次可能要花一阵子时间才能载入整个页面。然而以后再去时间就会大大缩短,原因就在于客户端缓存。现在浏览器都非常智能,它会在客户机器的硬盘上保留许多静态的文件,比如各种gif,jpeg等等。等以后再去的时候,它会尽量使用本地缓存里的文件,只有服务器端的文件更新了,或是缓存里面的文件过期了,它才会再次从服务器端下载这些东西。很多时候是浏览器替我们做了这件事情。二、服务器缓存 有些东西没有办法或者说是不适宜在客户端缓存的,这个时候就必须在服务器端想办法了。服务器端缓存从性质上看,又可以分为两种...阅读全文
posted @ 2013-05-23 14:20 逆心 阅读(141) | 评论 (0) 编辑
System.Web.Caching.Cache类 缓存 各种缓存依赖
摘要: Cache类,是一个用于缓存常用信息的类。HttpRuntime.Cache以及HttpContext.Current.Cache都是该类的实例。一、属性属性说明Count获取存储在缓存中的项数。EffectivePercentagePhysicalMemoryLimit获取在 ASP.NET 开始从缓存中移除项之前应用程序可使用的物理内存百分比。EffectivePrivateBytesLimit获取可用于缓存的字节数。Item获取或设置指定键处的缓存项。二、方法方法名称说明Add将指定项添加到 Cache 对象,该对象具有依赖项、到期和优先级策略以及一个委托(可用于在从 Cache 移..阅读全文
posted @ 2013-05-07 15:43 逆心 阅读(4497) | 评论 (6) 编辑