业务需求,数据库中有个表数据有点多,查起来有点慢。觉得分表什么的太费劲还要改代码。干脆把这个表重要字段都缓存到redis。这样代码改动很小,也不用去分表了。
Redis简介
请自行百度
客户端调用->
我是C#调用,redis官网推荐两个帮助类
这个4.0(包含)及更高版本收费,免费的是3.几开头的。网上很多人辣么厉害,把人家收费版的访问redis次数限制破解了,咱就用3.多的版本就行
网上有很多人说用这个总发生连接服务器超时的问题,咱也没用过,也不敢说啥
还有一个是CSredis,看GitHub上介绍自己挺牛逼的,但是他的依赖库版本都好高啊,我项目所有的都要换,我觉得太麻烦了还是算了吧,这个不适合我,不讨论这个了。
程序这边用的是.net4.5我觉得用ServiceStack.Redis刚刚好,看了一篇文章测试两个的性能差距,自己也测了一下,确实不一样,但是针对我这种访问级别,其实没啥区别。(性能比较https://www.cnblogs.com/shuxiaolong/p/ServiceStack_Redis_StackExchange_Redis.html)
确定了用啥,看看怎么下载这个包
1.
按如下顺序安装,3.9.71 版本
ServiceStack.Text
ServiceStack.Common
ServiceStack.Redis
3.刚才我们选的是3.9.71,这里划重点记下来,考试要考。安装了3个,多附带一个ServiceStack.Interfaces
我代码写的不好,具体大家可以百度。部分如下
/// <summary>
/// KEY value(string,string)
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
public void Insert(string key, string value)
{
//host 127.0.0.1
//port 6379
//password mima
//db 默认是0
using (RedisClient redisclient = new RedisClient(host,port,password,db))
{
redisclient.Set(key, value);
}
}
没写成静态类和静态方法,是因为我怕redis服务器重启,这样IIS也要重启才行,太麻烦了。
行了,大概就是这个样子了。
服务端部署redis,windows端->
命令参考 http://doc.redisfans.com/
Redis官方不支持windows系统,微软维护了一个windows版
我下载的是这个,如下图
下载下来解压后,执行cmd命令,在cmd中启动redis服务。下面是比较重要的两条命令
//执行此配置文件启动redis服务
redis-server.exe redis.windows.conf
//执行此配置文件,以服务的方式启动redis服务
redis-server --service-install redis.windows.conf --loglevel verbose --service-name 服务名称
配置文件:redis.windows.conf
windows下的配置少了一些,不过不要紧,我也用不到。下面的配置用笔记下来,考试要考
bind的详细解释 Redis bind的解释
这里建议如果你当前的机器当做了redis服务器,别的电脑要链接你,这里的bind你需要ipconfig查找自己的本地IP,配置到bind。具体做法是空格拼后面
这样,上面的代码中host可以填写10.20.66.6
这样别人的电脑可以链你
默认端口6379
这个的意思是redis有16个数据库,从0-15。默认选择0
这个是保存的周期,86400秒中,有2000条更改就保存。或者900秒中有1000000条更改就保存。两个都有效。我其实不想让他乱保存的。如果保存失败,网上说两个原因,1内存有点小,这个我亲测确实有关系,2是保存的文件没有权限读写出错原因分析
如果保存失败就不让redis再写入了。这不扯犊子么,先关了吧
链接redis服务的密码。用redis-cli链接的时候需要密码 怎么用密码链
redis默认用bgsave命令,快照方式持久化到硬盘,当redis按照配置文件启动的时候,会把这个文件的数据先加载到内存的。文件名就是这个,这个文件在windows下生成后拿到linux下也能用。很流皮。所以我在本机生成了一个5G的文件,准备放在linux服务器上直接用。
服务端部署redis,linux端->
这个我是看的视频教程,这之前我都不知道linux是啥,我也很奇怪为啥我不能这样到服务器上操作
好吧不扯犊子了
先下载个工具 远程连接工具推荐
都是程序员,点点就会用了。连接到linux服务器,然后就是 redis官网的命令。
一个一个命令执行就行,就能安装了,贼流皮,make不成功 服务器也提示你,没有gcc,还会提示你sudo apt install ***(我忘了)这样一个指令去安装gcc,然后就能make了。
然后在控制台输入rz,又提示你安装 一个东西,安装完了之后,就能实现文件传输了(别问我为啥传输文件,linux上修改文件和windows不一样,第一次贼别扭,推荐从服务器down下redis.conf文件,修改好后再上传回去)文件传输
修改好后配置文件(在redis-5.0.5文件夹下),启动服务即可