1. 程式人生 > >.net core 與 redis

.net core 與 redis

Linux 下 redis 安裝

wget http://download.redis.io/releases/redis-4.0.11.tar.gz
tar xzf redis-4.0.11.tar.gz
cd redis-4.0.11
make
cd src
./redis-server

判斷 redis 是否安裝成功:

$ cd src
$ ./redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

Windows 下 redis 安裝

安裝完成之後, cmd 進入安裝目錄, 輸入:

redis-server.exe redis.windows.conf
redis-cli.exe -h 127.0.0.1 -p 6379
set myKey abc
get myKey

.net core 控制檯程式

先在 “程式包管理器控制檯” 上安裝包:

install-package ServiceStack.Redis

 程式碼:

using ServiceStack.Redis;
using ServiceStack.Redis.Generic;
using ServiceStack.Text;
using System;

namespace ConsoleApp3
{
    class UserInfo
    {
        public long UserId { get; set; }
        /// <summary>
        /// Id列必須設定。因為GetById方法只識別名稱為 id 的屬性( id 的大小寫不敏感 )。
        /// </summary>
        public long Id { get { return this.UserId; } }
        public string UserName { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var redisManger = new RedisManagerPool("127.0.0.1:6379");
            var redis = redisManger.GetClient();                           //獲取一個Redis Client
            IRedisTypedClient<UserInfo> redisTodos = redis.As<UserInfo>();
            var newTodo = new UserInfo                                          //例項化一個Todo類
            {
                UserId = 1,
                UserName = "小明"
            };
            redisTodos.Store(newTodo);                                    //把newTodo例項儲存到資料庫中    增     
            UserInfo saveTodo = redisTodos.GetById(newTodo.Id);               //根據Id查詢        查
            "Saved Todo: {0}".Print(saveTodo.Dump());

            saveTodo.UserName = "小華";                                         //改
            redisTodos.Store(saveTodo);

            var updateTodo = redisTodos.GetById(newTodo.Id);            //查
            "Updated Todo: {0}".Print(updateTodo.Dump());

            redisTodos.DeleteById(newTodo.Id);                           //刪除

            var remainingTodos = redisTodos.GetAll();
            "No more Todos:".Print(remainingTodos.Dump());

            Console.Read();
        }
    }
}