这几天没有按照计划分享技术博文,主要是去医院了,这里一想到在医院经历的种种,我真的有话要说;医院里的医务人员曾经被吹捧为美丽+和蔼+可亲的天使,在经受5天左右相互接触后不得不让感慨;遇见的有些人员在挂号队伍犹如长龙的时候坐在收费窗口玩手机,理由是自己是换班的差几分钟才上班呢;遇见态度极其恶劣的主任医师,做咨询几个问题声音马上提高并言语中携带讽刺话语;还有其他几个遇见哈哈这里就不多说了,可能是某些医务人员觉得多您个不少,我有的是客源,所以个别是这种态度吧,还是市医院真不知道怎么混进去的。

 

以上是个人的看法,下面来正式分享今天的文章吧:

。搭建Redis服务端,并用客户端连接

。封装缓存父类,定义Get,Set等常用方法

。定义RedisCache缓存类,执行Redis的Get,Set方法

。构造出缓存工厂调用方法

 

下面一步一个脚印的来分享:

。搭建Redis服务端,并用客户端连接

首先,咋们去这个地址下载安装文件https://github.com/dmajkic/redis/downloads,我这里的版本是:redis-2.4.5-win32-win64里面有32位和64位的执行文件,我这里服务器是64位的下面给出截图和用到部分程序的说明:

缓存工厂之Redis缓存

现在,咋们直接可以用鼠标双击redis-server.exe这个应用程序,这样就打开了redis服务窗体(您也可以下载一个windows服务承载器,把redis服务运行在windows的服务中,就不用担心每次关闭redis服务黑色窗体后无法访问redis了),运行起来是这样:

缓存工厂之Redis缓存

有红色框的信息就表示成功了,这里redis服务监听的端口默认是6379,要修改端口或者更多的配置信息请找到redis.conf配置文件,具体配置信息介绍可以来这里http://www.shouce.ren/api/view/a/6231

再来,打开客户端连接服务端,咋们退到64bit文件夹的目录中,鼠标移到64bit文件夹上并且安装Shift键,同时点击鼠标的右键,选中"在此处打开命令窗口"这样快速进入到了该文件夹的cmd命令窗口中(当然不同的操作系统不同,这里演示的是windows的操作;还有其他进入的方式这里不做介绍,因为个人感觉这是最快的);然后,在命令窗口中录入redis-cli.exe -h localhost -p 6379回车来访问服务端,效果图:

缓存工厂之Redis缓存

再来看下服务端窗体截图:

缓存工厂之Redis缓存

没错这样客户端就连接上服务端了,可以简单在客户端执行下set,get命令:

缓存工厂之Redis缓存

如果是客户端要访问远程的redis服务端,只需要把localhost换成可访问的ip就行了如果还需要密码等更多配置请去上面的那个地址链接;

 

。封装缓存父类,定义Get,Set等常用方法

先来,上父类的代码:

 1 public class BaseCache : IDisposable
 2     {
 3         protected string def_ip = string.Empty;
 4         protected int def_port = 0;
 5         protected string def_password = string.Empty;
 6 
 7         public BaseCache()
 8         {
 9 
10         }
11 
12         public virtual void InitCache(string ip = "", int port = 0, string password = "")
13         {
14 
15         }
16 
17         public virtual bool SetCache<T>(string key, T t, int timeOutMinute = 10) where T : class,new()
18         {
19 
20             return false;
21         }
22 
23         public virtual T GetCache<T>(string key) where T : class,new()
24         {
25 
26             return default(T);
27         }
28 
29         public virtual bool Remove(string key)
30         {
31 
32             return false;
33         }
34 
35         public virtual bool FlushAll()
36         {
37 
38             return false;
39         }
40 
41         public virtual bool Any(string key)
42         {
43 
44             return false;
45         }
46 
47         public virtual void Dispose(bool isfalse)
48         {
49 
50             if (isfalse)
51             {
52 
53 
54             }
55         }
56 
57         //手动释放
58         public void Dispose()
59         {
60 
61             this.Dispose(true);
62             //不自动释放
63             GC.SuppressFinalize(this);
64         }
65     }
View Code

相关文章: