.NET 下第一次接觸Redis數據庫

jopen 9年前發布 | 12K 次閱讀 Redis NoSQL數據庫
 

關于Redis

1.簡介

Redis是著名的NOSQL(Not Only SQL)數據庫,是鍵值對結構。(我只用過鍵值對結構的)

他為存儲鍵值對做了優化,在大型網站中應用廣泛。Redis提供了數據的自動過期處理,而且支持集群。

適合臨時存儲數據,和存儲一些離散的數據。

2.用途

Redis可以存儲一些臨時數據。可以存儲一些,某一時刻有意義,但是又不值得存入數據庫的數據。

同時,對于數據統計來說,用戶的一次點擊,一次登錄,都是有意義的。但是這些大量的離散的,單個拿出來毫無意義的數據,顯然不適合存儲在關系型數據庫中。Redis提供了解決這種問題的方案。

3.環境

說明: Redis服務器有Linux、Windows版,Linux版性能好適合生產環境,在自己的windows電腦上配只是為了學習。 不用太較真。

1)Windows下Redis服務器的安裝:解壓redisbin_x32.zip到硬盤;

.NET 下第一次接觸Redis數據庫

2)安裝RedisWatcher(把Redis運行為系統服務,如果安裝過程有問題,直接執行redis-server 也可以),

.NET 下第一次接觸Redis數據庫

.NET 下第一次接觸Redis數據庫

3)然后配置RedisWatcher安裝目錄下的watcher.conf指向redis-server 的路徑,然后到Windows 服務中啟動RedisWatch。 注意 watcher.conf只能用高級文本編輯器打開。

.NET 下第一次接觸Redis數據庫

.NET 下第一次接觸Redis數據庫

4)在項目中引用

.NET 下第一次接觸Redis數據庫

如果想使用Redis數據庫,需要在項目中添加如上的四個引用。

OK,準備工作到此,全部完成。我們開始使用的demo。

使用

1.相當于配置文件的類。

public class RedisManager

    {

         //注意,這個屬性的寫法是 { get; private set; }  外部不可寫入。

        public static PooledRedisClientManager  ClientManager { get; private set; }

        static RedisManager()

        {

            RedisClientManagerConfig redisConfig = new RedisClientManagerConfig();

            redisConfig.MaxWritePoolSize = 128;

            redisConfig.MaxReadPoolSize = 128;

            /*讀寫分離。多臺Redis組成集群

             注意前兩個參數,參數1表示,讀寫Redis的服務器地址,為字符串數組,支持多個地址,也就是支持集群。

             參數2表示,讀Redis的服務器,同樣支持集群。

            */

            ClientManager = new PooledRedisClientManager(new string[] {"127.0.0.1"},

           new string[] {"127.0.0.1"}, redisConfig);

        }

    }

2.保存和讀取

   static void Main(string[] args)

   {

            using (IRedisClient client = RedisManager.ClientManager.GetClient())

            {

                //1.設置讀取int對象

                client.Set<int>("age",18);  

                 client.Get<int>("age");

                //2.設置讀取sting對象

                client.Set<string>("name","jim");

                string name = client.Get<string>("name");

                //3.設置讀取Dictionary對象

                Dictionary<string, string> dict = new Dictionary<string, string>();

                dict.Add("aaa", "bbb");

                client.Set<Dictionary<string, string>>("dict",dict);

                client.Get<Dictionary<string,string>>(dict);

                //4.賦值時,設置失效時間。

                client.Set<string>("name", "rupeng", DateTime.Now.AddSeconds(30))

            }

   }

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!