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/

时间: 2024-12-08 21:28:02

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

节约内存:Instagram的Redis实践(转)

add by zhj:本文只翻译了一部分,更多分析要参考英文原文 译文:节约内存:Instagram的Redis实践 英文原文:Storing hundreds of millions of simple key-value pairs in Redis Instagram可以说是网拍App的始祖级应用,也是当前最火热的拍照App之一,Instagram的照片数量已经达到3亿,而在Instagram里,我们需要知道每一张照片的作者是谁,下面就是Instagram团队如何使用Redis来解决这个问

节约内存:Instagram的Redis实践(转)

一.问题: 数据库表数据量极大(千万条),要求让服务器更加快速地响应用户的需求. 二.解决方案: 1.通过高速服务器Cache缓存数据库数据 2.内存数据库 三.主流解Cache和数据库对比: 从以上各数据可知,对于我们产品最可行的技术方案有两种: 1.Memcached         内存Key-Value Cache 2.Redis                     内存数据库 四,节约内存:Instagram的Redis实践 Instagram可以说是网拍App的始祖级应用,也是当

Redis 实践之安装运行

本文原创自 http://blog.csdn.net/voipmaker  转载注明出处. Redis是nosql数据库家族的一员,与memcached类似, 是高性能的基于内存的key-value存储系统,笔者将逐步把学习和使用redis的过程记录成笔记. (1)     编译安装: 官方网站下载redis-3.0.0-beta8.tar.gz 解压后源码目录: cd /opt/redis/redis-3.0.0-beta8 make make install Redis安装过程很简答,下载源

Redis实践之 配置文件解析

本文原创自 http://blog.csdn.net/voipmaker  转载注明出处. 要掌握redis的用法,配置文件的重要参数必须掌握,下面是笔者对各个参数的学习笔记,同时会针对特殊参数的使用场景做简短说明. include /path/to/other.conf 解释:include和c里面的include概念类似,可以把redis的的参数分散到其他文件,当运行多个redis实例时,通过include一个common的配置文件让所有redis-server共享,简化redis.conf

Redis 实践之集群方案

本文原创自 http://blog.csdn.net/voipmaker  转载注明出处. Redis集群的目的是实现数据的横向伸缩,把一块数据分片保存到多个机器,可以横向扩展数据库大小,扩展带宽,计算能力等. 实现数据分片(集群)方式大致有三种: (1)     客户端实现数据分片 即客户端自己计算数据的key应该在哪个机器上存储和查找,此方法的好处是降低了服务器集群的复杂度,客户端实现数据分片时,服务器是独立的,服务器之前没有任何关联.多数redis客户端库实现了此功能,也叫sharding

Redis实践之HA方案

本文原创自 http://blog.csdn.net/voipmaker  转载注明出处. Redis的HA 目的是当主节点挂掉后,从节点自动升级为主节点. 目前的方案有如下几种: (1)   Redis-cluster内置HA功能,redis 3.0实现了cluster功能,内置HA. 此功能需要在集群模式下才支持,master挂掉后,slave会自动升级为master,对客户端是隐藏的. (2)通过keepalived,虚拟ip方案 传统HA方案,利用keealived 监控redis进程状

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

一.需求分析: 设置了生存时间的Key,在过期时能不能有所提示? 如果能对过期Key有个监听,如何对过期Key进行一个回调处理? 如何使用 Redis 来实现定时任务? 二.序言: 本文所说的定时任务或者说计划任务并不是很多人想象中的那样,比如说每天凌晨三点自动运行起来跑一个脚本.这种都已经烂大街了,随便一个 Crontab 就能搞定了. 这里所说的定时任务可以说是计时器任务,比如说用户触发了某个动作,那么从这个点开始过二十四小时我们要对这个动作做点什么.那么如果有 1000 个用户触发了这个动

Redis 实践1- redis介绍和安装

redis是一个key-value存储系统,官方站点 http://redis.io 和memcached类似,但支持数据持久化 支持更多value类型,除了和string外,还支持hash.lists(链表).sets(集合)和sorted sets(有序集合)几种数据类型 redis使用了两种文件格式:全量数据(RDB)和增量请求(aof).全量数据格式是把内存中的数据写入磁盘,便于下次读取文件进行加载.增量请求文件则是把内存中的数据序列化为操作请求,用于读取文件进行replay得到数据 r

Redis实践操作之—— 直播视频定时控制【TCP长连接框架(WorkerMan)+键空间通知的机制 ( Keyspace Notifications)+短信接口(API)】

一.思路梳理 同步直播视频到Redis 用户观看直播模板,点击直播按钮,检查是否有权限. 直播定时免费观看(免费观看10分钟),用户点击播放按钮开始,异步检查获取直播活动设置的免费观看时间(后台维护人员设置,Redis的hash存储信息),是否是直播. 是直播视频:判断该客户是否已经观看过了免费的20分钟时间, 没有看过,则获取该直播视频的免费时间根据活动ID,同时设置该直播视频的过期时间(只针对该用户自己哦),返回个模板,说:这个人可以观看的. 直播视频已经看过了,则不可以继续观看哦!嘻嘻..