一、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");