C# 通過ServiceStack 操作Redis——Set型別的使用及示例
阿新 • • 發佈:2021-08-24
ServiceStack程式集沒有方法註解,我在這裡將註解新增上去,有不當之處,歡迎指正
Console.WriteLine("---Set型別---"); //新增 setId集合中新增item值 client.AddItemToSet(setId, item); //setId集合中新增多個item client.AddRangeToSet(setId,items); //獲取 隨機獲取setId集合中的一個值 client.GetRandomItemFromSet(setId); //獲取setId集合值的數量 client.GetSetCount(setId); // 獲取setId集合中所有的值 client.GetAllItemsFromSet(setId); // 隨機刪除setId集合中的一個值 client.PopItemFromSet(setId); // 刪除setId集合中的item client.RemoveItemFromSet(setId, item); //從fromSetId集合中移除值為item的值,並把item新增到toSetId集合中 client.MoveBetweenSets(fromSetId, toSetId, item); //返回多個setId集合中的並集,返還hashset client.GetUnionFromSets(setIds); //返回多個setId集合中的交集,返還hashset client.GetIntersectFromSets(setIds); //返回fromSetId 與多個withSetId集合中的差集,返還hashset client.GetDifferencesFromSet(fromSetId, withSetIds); // 多個setId集合中的並集,放入intoSetId集合中 client.StoreUnionFromSets(intoSetId, setIds); //把fromSetId集合中的資料與withSetIds集合中的資料對比,fromSetId集合中不存在keys集合中,則把這些不存在的資料放入intoSetId集合中 client.StoreDifferencesFromSet(intoSetId, fromSetId, withSetIds);
下面是資料輸入
//1.新增,value不重複,新增多個Marren1也只有一個 //單個新增 關注劉備的使用者 client.AddItemToSet("劉備", "小1"); client.AddItemToSet("劉備", "小2"); client.AddItemToSet("劉備", "小2"); client.AddItemToSet("劉備", "小3"); client.AddItemToSet("劉備", "小3"); client.AddItemToSet("劉備", "小3"); client.AddItemToSet("劉備", "小4"); client.AddItemToSet("劉備", "小5"); client.AddItemToSet("劉備", "小6"); client.AddItemToSet("劉備", "小7"); client.AddItemToSet("劉備", "小8"); client.AddItemToSet("劉備", "小8"); //2.獲取setId集合的數量 long count1= client.GetSetCount("劉備"); //3.判斷setId中是否包含指定值 bool b1=client.SetContainsItem("劉備", "小5"); //4.隨機獲取setId集合中的一個值 string value1=client.GetRandomItemFromSet("劉備"); //5.獲取setId中的所有值 HashSet<string> user1= client.GetAllItemsFromSet("劉備");
效果圖
刪除幾條資料
//6. 刪除setId中指定value client.RemoveItemFromSet("劉備", "小6"); //7. 隨機刪除setId集合中的一個值,並返回該值 string value2=client.PopItemFromSet("劉備"); // 隨機刪除setId集合中的2個值,並返回這2個值 List<string> value3 = client.PopItemsFromSet("劉備", 2);
再新增一個集合 “張飛”
//多新增 關注張飛的使用者 List<string> items = new List<string>() { "小1", "小12", "小3", "小3", "小3", "小14", "小5" , "小16", "小7", "小8", "小18" }; client.AddRangeToSet("張飛", items); HashSet<string> user2 = client.GetAllItemsFromSet("張飛");
下面就是集合一些操作:交、並、差、補
//獲取交集 HashSet<string> data1=client.GetIntersectFromSets("劉備", "張飛"); //獲取並集 HashSet<string> data2 = client.GetUnionFromSets("劉備", "張飛"); //獲取差集 HashSet<string> data3 = client.GetDifferencesFromSet("劉備","張飛"); //補集 client.StoreDifferencesFromSet("關羽", "劉備", "張飛"); HashSet<string> data4 = client.GetAllItemsFromSet("關羽");
原文連結:https://www.cnblogs.com/for-easy-fast/p/14531235.html