小白如何在Windows下使用Redis
一、redis下载按装 Nuget 可以直接下载 redis
将下来的包拷贝到自已需要的目录如我放到桌面文件夹“近期需要\Redis应用\redis-64.3.0.503”
操作
cmd进入命令操作窗口
1、先进入指定目录 cd C:\Users\Elane0014\Desktop\近期需要\Redis应用\redis-64.3.0.503\tools
2、 启动服务端 redis C:\Users\Elane0014\Desktop\近期需要\Redis应用\redis-64.3.0.503\tools> redis-server redis.windows.conf
3、不要关上边启动的服务 设置值 进入 C:\Users\Elane0014\Desktop\近期需要\Redis应用\redis-64.3.0.503\tools
4、再启动 redis-cli.exe -h 127.0.0.1 -p 6379
5、设置 set userInfo xiaomi
6、获取值 get userInfo
二、持久化之全量写入:RDB
[redis@6381]$ more /usr/local/redis/conf/redis.conf
save 900 1
save 300 10
save 60 10000
dbfilename "dump.rdb" #持久化文件名称
dir "/data/dbs/redis/6381" #持久化数据文件存放的路径
上面是redis配置文件里默认的RDB持久化设置,前三行都是对触发RDB的一个条件,例如第一行的意思是每900秒钟里redis数据库有一条数据被修改则触发RDB,依次类推;只要有一条满足就会调用BGSAVE进行RDB持久化。第四行dbfilename指定了把内存里的数据库写入本地文件的名称,该文件是进行压缩后的二进制文件,通过该文件可以把数据库还原到生成该文件时数据库的状态。第五行dir指定了RDB文件存放的目录。
配置文件修改需要重启redis服务,我们还可以在命令行里进行配置,即时生效,服务器重启后需重新配置
复制代码
[redis@iZ254r8s3m6Z redis]$ bin/redis-cli
127.0.0.1:6379> CONFIG GET save #查看redis持久化配置
1) "save"
2) "900 1 300 10 60 10000"
127.0.0.1:6379> CONFIG SET save "21600 1000" #修改redis持久化配置
OK
而RDB持久化也分两种:SAVE和BGSAVE
SAVE是阻塞式的RDB持久化,当执行这个命令时redis的主进程把内存里的数据库状态写入到RDB文件(即上面的dump.rdb)中,直到该文件创建完毕的这段时间内redis将不能处理任何命令请求。
BGSAVE属于非阻塞式的持久化,它会创建一个子进程专门去把内存中的数据库状态写入RDB文件里,同时主进程还可以处理来自客户端的命令请求。但子进程基本是复制的父进程,这等于两个相同大小的redis进程在系统上运行,会造成内存使用率的大幅增加。
由于redis是单线和在数据量较少的情况可以不用读写分离,如果数据量到 100M 以上尽使用读写分离这样可以不会影响redis读写性能
三、将redis 做为windows服务 如果不做为服务 打开的redis(redis-server redis.windows.conf) 服务端窗口就不可关闭
安装redis服务
1、 C:\Users\Elane0014\Desktop\近期需要\Redis应用\redis-64.3.0.503\tools> redis-server.exe --service-install redis.windows.conf --loglevel verbose
卸载服务:redis-server --service-uninstall
开启服务:redis-server --service-start
停止服务:redis-server --service-stop
安装成功后去服务界面启动 "Redis" 这个服务就可以了。
启动服务时需要将打开的redis(redis-server redis.windows.conf) 服务端窗口关闭。 如服务启动不成功可参考
http://www.cnblogs.com/fanshuyao/p/7193034.html
四、C#代码中简单使用
引用 或通过nuget下载 相关类库
ServiceStack.Redis.dll
ServiceStack.Interfaces.dll
ServiceStack.Common.dll
ServiceStack.Text.dll
存储
static RedisClient redisClient = new RedisClient("192.168.1.33", 6379);//redis服务IP和端口
//将字符串列表添加到redis
List<string> storeMembers = new List<string>() { "one", "two", "three" };
redisClient.Set("ArryData",storeMembers);
获取
List<string> listStr= redisClient.Get<List<string>>("ArryData");
详细说明:
http://www.cnblogs.com/M-LittleBird/p/5902850.html