打赏

Redis学习笔记

Redis学习笔记

李涛 2017-1-5

Redis知识

1、Redis入门介绍http://www.cnblogs.com/zhili/p/QuickstartRedis.html

2、redis asp.net客户端应用方式

(1)应用nuget中的StackExchange.Redis或ServiceStack.Redis

区别详见http://www.cnblogs.com/qtqq/p/5951201.html

(2)ServiceStack.Redis使用http://www.cnblogs.com/fx2008/p/4218299.html

食药监项目中应用

1、redis配置应用参照nopcommerce3.8开源项目(http://www.nopcommerce.com/downloads.aspx),引用nuget中的StackExchange.Redis

2、在PharmacyKindergartenMonitor.Core项目中应用nuget安装StackExchange.Redis

3、PharmacyKindergartenMonitor.Core.Caching文件夹下添加类RedisCacheManager : ICacheManager,用于缓存的增删改查(仿真数据库)。读取缓存时先从perRequest中查找,没有的话再去找redis。

4、PharmacyKindergartenMonitor.Core.Caching文件夹下添加RedisConnectionWrapper及对应接口,用于管理redis的连接事情

5、(1)PharmacyKindergartenMonitor.Core.Configuration中添加类PharmacyKindergartenMonitorConfig : IConfigurationSectionHandler,用于将web项目中的config文件中相关的配置信息读取存放于类中,便于依赖注入等其他类调用。

(2)修改webconfig文件,配置<PharmacyKindergartenMonitorConfig>节点相关信息。Web启动时走global文件中EngineContext.Initialize(false);

PharmacyKindergartenMonitor.Core.Infrastructure. EngineContext  Initialize方法会读取webconfig中<PharmacyKindergartenMonitorConfig>节点内容,存放成PharmacyKindergartenMonitorConfig config对象,并用config信息构造IEngine,              

                Singleton<IEngine>.Instance.Initialize(config);(

方法中RegisterDependencies(config) 依赖注入;

            RunStartupTasks();启动初始化的各种任务,如automapper)

6、PharmacyKindergartenMonitor.Framework DependencyRegistrar类中书写cacheManager的注入,及service注入时选择cacheManage

  //cache manager

            builder.RegisterType<RedisConnectionWrapper>().As<IRedisConnectionWrapper>().SingleInstance();

            builder.RegisterType<RedisCacheManager>().As<ICacheManager>().Named<ICacheManager>("nop_cache_static").InstancePerLifetimeScope();

            builder.RegisterType<PerRequestCacheManager>().As<ICacheManager>().Named<ICacheManager>("nop_cache_per_request").InstancePerLifetimeScope();

 

  //pass RedisCacheManager to SettingService as cacheManager (cache settngs between requests)

       builder.RegisterType<PermissionService>().As<IPermissionService>()

                .WithParameter(ResolvedParameter.ForNamed<ICacheManager>("nop_cache_static"))

                .InstancePerLifetimeScope();

7、服务器端

https://github.com/MSOpenTech/Redis上下载redis,解压缩后放置服务器上,双击打开redis-server.exe,启动redis服务即可。在客户端的webconfig配置好相应的ip地址。默认端口号可省略。

安装测试参见http://www.cnblogs.com/fx2008/p/4218114.html

8、redis 桌面管理工具,方便redis内容的可视化管理

参照 http://www.cnblogs.com/taoshengyujiu/p/6514747.html

9、redis端口及密码修改,并在后台启动服务

(1)解压后的文件,将redis.windows改成redis,好像不改也行。

 

 

(2)将redis.config文件打开修改,默认端口号6379,可以自定义修改,比如port 6666

# Accept connections on the specified port, default is 6379.

# If port 0 is specified Redis will not listen on a TCP socket.

port 6379

(3)设置redis密码,去掉requirepass,取消注释,将foobar改为想要的密码。比如改成 requirepass test123

# Warning: since Redis is pretty fast an outside user can try up to

# 150k passwords per second against a good box. This means that you should

# use a very strong password otherwise it will be very easy to break.

#

#requirepass foobar

(4)运行cmd命令,转换到redis文件夹路径(比如d:/temp/redis),先敲D:回车,再敲cd temp\redis回车。运行安装redis-service服务。

redis-server  --service-install redis.conf  --service-name redisservice6666

其中redisservice6666是自主定义的服务名称,成功后在机器服务列表中将会看到redisservice6666.(win10 在搜索框中搜索服务或者win+R services.msc)

 

 

 

(5)应用redis-cli测试下redis-service。其中-h为安装redis服务器的ip,127.0。0.1是本机。-p为端口号,-a为密码

Redis-cli.exe  -h 127.0.0.1 –p 6666 –a test123

 

Set name ‘liming’

Get name

posted @ 2017-01-05 11:21  KiteRunner1988  阅读(185)  评论(0编辑  收藏  举报