c#之Redis实践list,hashtable

写在前面

最近公司搞了一个活动,用到了redis的队列,就研究了下redis的相关内容。也顺手做了个demo。

C#之使用Redis

可以通过Nuget安装Reidis的相关程序集。安装之后发现会引入以下几个dll

一些list,队列和hashtable的操作。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NServiceKit.Redis;
using Newtonsoft.Json;
namespace RedisDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建redis工厂
            RedisClientFactory factory = RedisClientFactory.Instance;
            //通过工厂创建redisclient对象
            RedisClient client = factory.CreateRedisClient("192.168.1.37", 6379);
            //在list中添加键值对
            client.AddItemToList("test_listId", "wolfy");
            //通过键和索引取值
            string value = client.GetItemFromList("test_listId", 0);
            //队列
            for (int i = 0; i < 10; i++)
            {
                client.EnqueueItemOnList("queue_test", "test" + i.ToString());
            }
            while (client.GetListCount("queue_test") > 0)
            {
                Console.WriteLine(client.DequeueItemFromList("queue_test"));
            }
            //hashtable
            for (int i = 0; i < 10; i++)
            {
                client.SetEntryInHash("hashtable_test", "test" + i.ToString(), JsonConvert.SerializeObject(new
                {
                    id = i + 1,
                    name = "wolfy" + i.ToString()
                }));
            }
            //获取hashtable中的值
            List<string> lst = client.GetHashValues("hashtable_test");
            foreach (var item in lst)
            {
                Console.WriteLine(item);
            }
            Console.Read();
        }
    }
}

测试

总结

关于redis的文章网上有很多,这里由于工作需要,先着手弄了个demo,先跑起来,然后再深入的研究。

博客地址: http://www.cnblogs.com/wolf-sun/
博客版权: 本文以学习、研究和分享为主,欢迎转载,但必须在文章页面明显位置给出原文连接。
如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。如果觉得本文对你有所帮助不如【推荐】一下!如果你有更好的建议,不如留言一起讨论,共同进步!
再次感谢您耐心的读完本篇文章。http://www.cnblogs.com/wolf-sun/p/5166854.html
时间: 2024-08-04 13:46:02

c#之Redis实践list,hashtable的相关文章

直播兴起的军功章上也有你的一半——Redis实践及在直播行业的应用

以下为直播整理内容. 云数据库Redis是一种稳定可靠.性能卓越.可弹性伸缩的数据库服务:它基于飞天分布式系统和全SSD盘高性能存储,支持主备版和集群版两套高可用架构:并提供了全套的容灾切换.故障迁移.在线扩容.性能优化的数据库解决方案. Redis介绍 Redis的全称是Remote Dictionary Server,它是由Salvatore Sanfilippo写的Key-Value存储系统.但它提供了比Key-Value更为丰富的数据结构,包括Lists.Sets.Ordered Set

Redis实践操作之—— keyspace notification(键空间通知)

源码地址:https://github.com/Tinywan/PHP_Experience   一.需求分析: 设置了生存时间的Key,在过期时能不能有所提示? 如果能对过期Key有个监听,如何对过期Key进行一个回调处理? 如何使用 Redis 来实现定时任务? 二.序言:        本文所说的定时任务或者说计划任务并不是很多人想象中的那样,比如说每天凌晨三点自动运行起来跑一个脚本.这种都已经烂大街了,随便一个 Crontab 就能搞定了.        这里所说的定时任务可以说是计时器

《Redis入门指南》一第5章 实践

第5章 实践 Redis入门指南 小白把宋老师向自己讲解的知识总结成了一篇帖子发在了学校的网站上,引起了强烈的反响.很多同学希望宋老师能够再写一些关于Redis实践方面的教程,宋老师爽快地答应了. 在此之前我们进行的操作都是通过Redis的命令行客户端redis-cli进行的,并没有介绍实际编程时如何操作Redis.本章将会通过4个实例分别介绍Redis的PHP.Python.Ruby和 Node.js 客户端的使用方法,即使你不了解其中的某些语言,粗浅的阅读一下也能收获很多实践方面的技巧.

Redis开发运维实践开发设计规范之内存考虑

4.4 内存考虑 只要有可能的话,就尽量使用散列键而不是字符串键来储存键值对数据,因为散列键管理方便.能够避免键名冲突.并且还能够节约内存. 具体实例: 节约内存:Instagram的Redis实践 blog.nosqlfan.com/html/3379.html 如果将redis作为cache进行频繁读写和超时删除等,此时应该避免设置较大的k-v,因为这样会导致redis的 内存碎片增加,导致rss占用较大,最后被操作系统OOM killer干掉.一个很具体的issue例子请见:https:/

Redis开发与运维. 2.5 集合

2.5 集合 集合(set)类型也是用来保存多个的字符串元素,但和列表类型不一样的是,集合中不允许有重复元素,并且集合中的元素是无序的,不能通过索引下标获取元素.如图2-22所示,集合user:1:follow包含着"it"."music". "his"."sports"四个元素,一个集合最多可以存储232-1个元素.Redis除了支持集合内的增删改查,同时还支持多个集合取交集.并集.差集,合理地使用好集合类型,能在实际开发中

专访高德地图开放平台的负责人童遥:跨机房同步和多路写入Redis集群方案将得到充分发展

杭州·云栖大会将于2016年10月13-16日在云栖小镇举办,在这场标签为互联网.创新.创业的云计算盛宴上,众多行业精英都将在这几天里分享超过450个演讲主题. 为了帮助大家进一步了解这场全球前言技术共振盛会的内容,采访了各个论坛的大咖,以飨读者. 以下为正文: 童遥,高德地图开放平台的负责人,也在负责高德在线服务的研发工作. 关于本次云栖大会的分享内容,童谣表示,高德地图既为大家提供出行服务,也为三十多万款应用提供LBS API能力,在这样大并发压力下和跨机房的Redis应用场景中,有一些实践

Redis开发与运维. 2.3 哈希

2.3 哈希 几乎所有的编程语言都提供了哈希(hash)类型,它们的叫法可能是哈希.字典.关联数组.在Redis中,哈希类型是指键值本身又是一个键值对结构,形如value={{field1,value1},...{fieldN,valueN}},Redis键值对和哈希类型二者的关系可以用图2-14来表示.   图2-14 字符串和哈希类型对比 哈希类型中的映射关系叫作field-value,注意这里的value是指field对应的值,不是键对应的值,请注意value在不同上下文的作用. 2.3.

详解 Redis 应用场景及应用实例

1. MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间. 2.Memcached与MySQL数据库数据一致性问题. 3.Memcached数据命中率低或down机,大量访问直接穿透到DB,MySQL无法

Redis基础知识之—— 缓存应用场景

转载原文:http://www.cnblogs.com/jinshengzhi/articles/5225718.html 一.MySql+Memcached架构的问题 Memcached采用客户端-服务器的架构,客户端和服务器端的通讯使用自定义的协议标准,只要满足协议格式要求,客户端Library可以用任何语言实现. Memcached服务器使用基于Slab的内存管理方式,有利于减少内存碎片和频繁分配销毁内存所带来的开销.各个Slab按需动态分配一个page的内存(和4Kpage的概念不同,这