前言

最近需要使用redis,看了一些文档,也在博客园里面看了很多文章,这里就记录下Redis常用类型的操作。

String

string是redis基本类型,一般通过Get,Set 命令进行操作,这里我用ServiceStack.Redis 进行操作:

using (redis)
{
//setValue 插入数据
redis.SetValue("hello", "world");
string s = redis.GetValue("hello"); redis.SetValue("Id", .ToString());
long id = redis.IncrementValue("Id");
id = redis.IncrementValueBy("Id", ); redis.ExpireEntryIn("hello", new TimeSpan(, , )); }

List

list就是我们提到的链表

using (redis)
{
string listId = "listId"; for (int i = ; i < ; i++)
{
redis.AddItemToList(listId, i.ToString());
} string s = redis.GetItemFromList(listId, );
List<string> all = redis.GetAllItemsFromList(listId);
long count = redis.GetListCount(listId); s = redis.PopItemFromList(listId);
s = redis.RemoveStartFromList(listId);
s = redis.RemoveEndFromList(listId); }

Set

set也是数据容器,和list不一样,set里面的元素不能重复

using (redis)
{
string setId1 = "setId1";
string setId2 = "setId2";
for (int i = ; i < ; i++)
{
redis.AddItemToSet(setId1, i.ToString());
} for (int i = ; i < ; i++)
{
redis.AddItemToSet(setId2, (i + ).ToString());
} long count = redis.GetSetCount(setId1);
string s = redis.GetRandomItemFromSet(setId1);
HashSet<string> allIds = redis.GetAllItemsFromSet(setId1); HashSet<string> unionIds = redis.GetUnionFromSets(setId1, setId2);
redis.StoreIntersectFromSets("intersectId", setId1, setId2);
redis.StoreDifferencesFromSet("diffentsecId", setId1, setId2); allIds = redis.GetAllItemsFromSet("intersectId");
allIds = redis.GetAllItemsFromSet("diffentsecId"); redis.RemoveItemFromSet(setId1, "");
s = redis.PopItemFromSet(setId1); }

SortSet

SortSet和set一样,但sortset顾名思义就是有排序的set

using (redis)
{
string sortSetId = "sortSetId"; for (int i = ; i < ; i++)
{
redis.AddItemToSortedSet(sortSetId, i.ToString(), i);
} bool contains = redis.SortedSetContainsItem(sortSetId, "");
long count = redis.GetSortedSetCount(sortSetId);
count = redis.GetSortedSetCount(sortSetId, , ); List<string> ids = redis.GetAllItemsFromSortedSet(sortSetId);
ids = redis.GetAllItemsFromSortedSetDesc(sortSetId);
ids = redis.GetRangeFromSortedSet(sortSetId, , );
ids = redis.GetRangeFromSortedSetByHighestScore(sortSetId, , );
ids = redis.GetRangeFromSortedSetByLowestScore(sortSetId, , ); double score = redis.GetItemScoreInSortedSet(sortSetId, ""); IDictionary<string, double> valueWithScores = redis.GetRangeWithScoresFromSortedSet(sortSetId, , );
valueWithScores = redis.GetRangeWithScoresFromSortedSetByHighestScore(sortSetId, , );
valueWithScores = redis.GetRangeWithScoresFromSortedSetByLowestScore(sortSetId, , ); bool isSucc = redis.RemoveItemFromSortedSet(sortSetId, ""); count = redis.RemoveRangeFromSortedSet(sortSetId, , );
count = redis.RemoveRangeFromSortedSetByScore(sortSetId, , ); string s = redis.PopItemWithHighestScoreFromSortedSet(sortSetId);
s = redis.PopItemWithLowestScoreFromSortedSet(sortSetId); }

Hash

hash一般用来存储我们的对象模型

using (redis)
{
string hashId = "hashId"; bool isSucc = redis.SetEntryInHash(hashId, "Hello", "world");
for (int i = ; i < ; i++)
{
redis.SetEntryInHash(hashId, i.ToString(), i.ToString());
} long count = redis.GetHashCount(hashId);
List<string> ids = redis.GetHashKeys(hashId);
ids = redis.GetHashValues(hashId); isSucc = redis.HashContainsEntry(hashId, "Hello");
string s = redis.GetValueFromHash(hashId, "Hello");
ids = redis.GetValuesFromHash(hashId, "", "", ""); isSucc = redis.RemoveEntryFromHash(hashId, "Hello");
long afterInc = redis.IncrementValueInHash(hashId, "", ); var newStringMap = new Dictionary<string, string> {
{"","e"}, {"","f"}, {"","g"}}; redis.SetRangeInHash(hashId, newStringMap);
}

总计

string,list, set, sortset, hash是redis的五种类型,这里只是简单的记录其基本操作

Redis .Net 基本类型使用之南的更多相关文章

  1. 深入浅出Redis04使用Redis数据库(lists类型)

    一  lists类型及操作 List是一个链表结构,主要功能是push,pop,获取一个范围的所有值等等,操作中key理解为链表的名字. Redis的list类型其实就是一个每个子元素都是sring类 ...

  2. 【redis】03list类型

    list类型 redis的list类型是一个链表结构,他的主要功能是push.pop.获取一个范围的所有值等等一些操作, 咱们push什么意思,push是不是相当于咱们php里面的array_push ...

  3. redis的lists类型

    List是一个链表结构 , 主要功能是push . pop .获取一个范围的所有值等等 , 操作中key理解为链表的名字 . redis 的 list类型其实就是一个每个子元素都是string类型的双 ...

  4. redis的set类型

    1.简单描述 redis的set类型是string类型数值的无序集合.set元素最大可以包含2的32次方减1个元素.由于set类型是通过hash table实现(旧版本是这样,新版本不确定是不是改用了 ...

  5. redis的list类型

    1.简单介绍 redis的list类型其实就是一个每个元素都是string类型的双向链表.所以lpush.rpush.lpop和rpop命令的时间复杂度是O(1),list会记录链表的长度,所以lle ...

  6. redis数据类型-字符串类型

    Redis数据类型 字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至是一张图片.一个字符串类型键允许存储的 ...

  7. 使用Redis数据库(String类型)

    一 String类型 首先使用启动服务器进程 : redis-server.exe 1. Set 设置Key对应的值为String 类型的value. 例子:向 Redis数据库中插入一条数据类型为S ...

  8. 第二百九十七节,python操作redis缓存-List类型,可以理解为列表

    python操作redis缓存-List类型,可以理解为列表,是可以有重复元素的列表 List操作,redis中的List在在内存中按照一个name对应一个List来存储.如图: lpush(name ...

  9. 第二百九十五节,python操作redis缓存-字符串类型

    python操作redis缓存-字符串类型 首先要安装redis-py模块 python连接redis方式,有两种连接方式,一种是直接连接,一张是通过连接池连接 注意:以后我们都用的连接池方式连接,直 ...

随机推荐

  1. Machine Learning - week 3

    Classification 使用线性回归来分类,会很不准确.并且,它的范围也会超出 {0, 1}.所以使用下面的逻辑回归模型. Hypothesis representation 线性回归中 hθ( ...

  2. 2017 ECJTU ACM 程序设计竞赛

    大厦 Time Limit : 4000/2000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submission ...

  3. UEP-自定义持久化类

    HY-UEP提供了两种持久化方式:基于JPA的持久化机制和自定义持久化机制,JPA的持久化机制 比较符合现在的软件开发模式,支持各种主流数据库;自定义持久化时我们平台产品的特有持久化 机制的升级,在综 ...

  4. Java map 详解 - 用法、遍历、排序、常用API等

    尊重原创: http://www.cnblogs.com/lzq198754/p/5780165.html 概要: java.util 中的集合类包含 Java 中某些最常用的类.最常用的集合类是 L ...

  5. iOS微信自动抢红包插件(支持后台和锁屏下抢红包)

    前言:本文主要讲述使用hook方式实现红包插件,涉及到tweak相关知识,如果你不想了解具体实现细节可直接到我的Github地址参考安装(包含越狱和非越狱两种方法)   转眼间2017即将过去,又到了 ...

  6. python利用socketserver实现并发套接字功能

    本文实现利用python的socketserver这个强大的模块实现套接字的并发 目录结构如下: 测试文件请放在server_file文件夹里面 server.py #!/usr/bin/env py ...

  7. PHP headers_sent() 函数

    PHP HTTP 函数 定义和用法 headers_sent() 函数检查 HTTP 标头是否已被发送以及在哪里被发送. 如果报头已发送,则返回 true,否则返回 false. 语法 headers ...

  8. oracle04_plsql

    PLSQL:Procedural Language SQL (1) plsql的基本结构(a) declare id constant number(2):=2;--常量定义 name varchar ...

  9. java—— finall 关键词

    _ *{ margin: 0; padding: 0; } .on2{ margin: 10px 0; cursor: pointer; user-select: none; color: white ...

  10. linux_nginx环境配置

    rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm # 安装阿里的epel源 国内使用web站点最多的w ...