Redis 简单了解(C#)

Redis

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。

Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。

安装与测试

我这边环境是windows7

安装地址:https://github.com/dmajkic/redis/downloads

解压至任意目录,双击运行 resis-server.exe

测试需要执行 redis—cli.exe

也可以将 resis-server.exe 注册到windows服务中,需要下载服务安装组件 https://github.com/rgl/redis/downloads

启动服务后测试(get  set)

至此,安装已经完成

C#实现

创建C#项目,添加redis相关引用,使用微软推荐的ServiceStack.Redis,建议使用VS2013,不然安装会失败。

using ServiceStack.Redis;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace TestRedis
{
    class Program
    {
        static void Main(string[] args)
        {
            PooledRedisClientManager prcm = CreateManager();
            //读写客户端
            using (IRedisClient Redis = prcm.GetClient())
            {
                Redis.Set("test", "testvalue" + DateTime.Now.ToString(), DateTime.Now.AddDays(10));
            }
            //只读客户端
            using (IRedisClient Redis = prcm.GetReadOnlyClient())
            {
                Console.WriteLine(Redis.Get<string>("test"));
            }
            Console.WriteLine("-----");
            Thread.Sleep(15000);
            Console.WriteLine("-----");
            using (IRedisClient Redis = prcm.GetReadOnlyClient())
            {
                Console.WriteLine("15秒后:" + Redis.Get<string>("test"));
            }
            Console.Read();
        }

        public static PooledRedisClientManager CreateManager()
        {
            //支持读写分离,均衡负载,负载均衡需要单独部署
            return new PooledRedisClientManager(new string[] { "10.58.8.239:6379" }//用于写
                , new string[] { "10.58.8.239:6379" }//用于读
                , new RedisClientManagerConfig
            {
                MaxWritePoolSize = 10,//“写”链接池链接数
                MaxReadPoolSize = 10,//“写”链接池链接数
                AutoStart = true,

            });
        }
    }
}

作者:释迦苦僧 出处:http://www.cnblogs.com/woxpp/p/5007623.html 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

时间: 2024-08-01 01:14:00

Redis 简单了解(C#)的相关文章

session 保存到 redis 简单实现

参考资料: [session保存到redis简单实现]http://blog.csdn.net/ppt0501/article/details/46700221 [Redis学习]http://blog.csdn.net/can007/article/details/19848559

小贝_php+redis简单实例

php+redis简单实例 一.说明 因为redis是c/s架构.从这个角度上.不论什么符合redis的client要求的.都能够与redis进行通讯.官方提供了非常多的client. php在web方面的发展.大家够有目共睹.因此这里主要是解说php与redis的使用实例 二.实例 这里仅使用了redis的字符串类型.用到了get和set命令 <? php /** * @explain php操作redis * 1.设置key为name,其值为脚本小子 * 2.获取key为name的值 * @

Redis简单使用(一)

1.Redis简介 Redis是一个开源的,使用C语言编写,面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景.Redis纯粹为应用而产生,它是一个高性能的key-value数据库,并且提供了多种语言的API性能测试结果表示SET操作每秒钟可达110000次,GET操作每秒81000次(当然不同的服务器配置性能不同). redis目前提供五种数据类型:string(字符串),list(链表), Hash(哈希),set(集合)及zset(sorte

Redis简单的数据操作(增删改查)

#Redis简单的数据操作(增删改查): 字符串类型 string 1. 存储: set key value 127.0.0.1:6379> set username zhangsan OK 2. 获取: get key 127.0.0.1:6379> get username "zhangsan" 以下同理: 127.0.0.1:6379> set age 23 OK 127.0.0.1:6379> get age "23" 127.0.0

Redis简单示例

1.Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 从2010年3月15日起,Redis的开发工作由VMware主持.从2013年5月开始,Redis的开发由Pivotal赞助. 2.下载 redis-3.2.6.tar.gz,解压,进入目录redis-3.2.6,然后make 3.在src目录下,生成一些二进制可执行文件.如下: [[email protected] src]# ll|grep -v "

Redis简单案例(三) 连续登陆活动的简单实现

连续登陆活动,或许大家都不会陌生,简单理解就是用户连续登陆了多少天之后,系统就会送一些礼品给相应的用户.最常见的 莫过于游戏和商城这些.游戏就送游戏币之类的东西,商城就送一些礼券.正值国庆,应该也有不少类似的活动. 下面就对这个的实现提供两个思路,并提供解决方案. 思路1(以用户为维度): 连续登陆活动,必然是要求连续登陆,不能有间隔.用1表示登陆,0表示没有登陆,这样我们可以为每个用户创建一个key去存储 他的登陆情况,就可以得到类似这样的一个二进制序列:1110111,如果是7个1,就表示连

Redis简单配置和使用

学到Redis中需要整理和配置的东西比较多,资源也是比较分散!这次的主要还是将知识整合一下,开发过程中所需要的资源整合一下,也方便今后涉及到这块地方的知识时,将时间大量浪费在了找这些资源上了! 一.Redis(NOSQL数据库): redis主要是用于存储键值对数据(主要对这进行了优化)的一种数据库,并且对数据进行了自动过期处理.和memcached不同之处在于,redis数据存在本机硬盘上,而memcached则是将数据存在内存中. redis有Windows版和linux版,平常测试开发基本

redis简单应用

一.Jedis客户端 Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如java.C.C#.C++.php.Node.js.Go等. 在官方网站里列一些Java的客户端,有Jedis.Redisson.Jredis.JDBC-Redis.等其中官方推荐使用Jedis和Redisson.今天我们主要使用Jedis的方式来完成Redis的应用 1.准备工作,添加架包: 2.编写简单的测试代码: @Test public void redisClient1(){ Jedis je

Redis简单案例(四) Session的管理

负载均衡,这应该是一个永恒的话题,也是一个十分重要的话题.毕竟当网站成长到一定程度,访问量自然也是会跟着增长,这个时候, 一般都会对其进行负载均衡等相应的调整.现如今最常见的应该就是使用Nginx来进行处理了吧.当然Jexus也可以达到一样的效果.既然是 负载均衡,那就势必有多台服务器,如果不对session进行处理,那么就会造成Session丢失的情况.有个高大上的名字叫做分布式Session. 举个通俗易懂的例子,假设现在有3台服务器做了负载,用户在登陆的时候是在a服务器上进行的,此时的se

redis简单配置

由于前段时间使用Kestrel,同时要操作Memcached及时更新缓存,又要操作database,持久化数据. 貌似Redis既可以当Cache又可以当Queue!于是,今天开始研究Redis! 一.Redis简要介绍 Redis —— REmote DIctionaryServer,可以直接理解为远程字典服务,也就是基于Key-Value模式Memcached+Database Persistence. 如果真要把Redis与Memcached进行对比,参考下图: 使用Memcached,让