ServiceStack.Redis 使用过程中碰到的两个问题

Redis是一个非常NB的内存级的数据库,我们可以把很多”热数据“(即读写非常多的数据)放入其中来操作,这样就减少了和关系型数据库(如SqlServer/My Sql等)之间的交互,程序的响应速度也大大提升。

C#利用ServiceStack.Redis来操作Redis,它是Redis官方推荐的C#客户端,性能非常优越,使用也很方便,但是我最近在使用这个工具的时候碰到两个问题:

1、每小时只能访问Redis 6000次

2、用  GetById  方法获取不到对象。

第一个问题一开始本地测试的时候并没有发现,因为我们的数据量小,每小时访问Redis次数也少,但是到了服务器上发现老是报这个错误:

The free-quota limit on ‘6000 Redis requests per hour‘ has been reached. Please see https://servicestack.net to upgrade to a commercial license.

在ServiceStack的官网(https://servicestack.net/download)上看到了关于这个错误的说明:原来ServiceStack v4版本已经逐渐商业化了,普通版每小时智能访问Redis600次,要取消这个限制就要付费或者您也可以往回使用V3版本。

第二个问题是我的一个疏忽导致的。之前声明实体类,Id字段我都是大写 I 小写d,但这次我两个字母都大写了:ID。结果我用下面这段代码怎么都获取不到想要的对象:

        using (RedisClient redisClient = new RedisClient(ip, port))
        {
            var redisUsers = redisClient.As<User>();
            User userInRedis = redisUsers.GetById(5);//这里的5是外面传入的参数,放在这里只是为了说明当时的情形
        }

明明我已经往Redis中存入了ID为5的User,而且我把Redis中所有的User对象都取出来后也确实能找到它,但直接通过GetById却怎么都找不到,当时百思不得其解,后来实在没辙了就试试把ID改为Id,然后重新存入再读取,结果取出来了。。。真是无语,看来实体类的Id属性必须和方法 GetById 相对应才行。

时间: 2024-10-09 18:14:02

ServiceStack.Redis 使用过程中碰到的两个问题的相关文章

【RAC】 RAC For W2K8R2 安装--安装过程中碰到的问题(九)

[RAC] RAC For W2K8R2 安装--安装过程中碰到的问题(九) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① RAC for windows 2008R2 的安装 ② rac环境下共享存储的规划和搭建 ③ starwind软件的应用 ④ VMware workstation 如何做共享存储 ⑤ rac数据的静默安装和dbca静默建库 ⑥ rac数据

Cacti监控MySQL实现过程中碰到的问题解汇总

前言:cacti监控mysql服务器的大概50张graphs都弄出来了,也出图了,其中遇到一些问题,印象比较深刻的记录如下: (一):添加io监控 点击Create Graphs for this Host 进去创建IO的图,结果报错 This data query returned 0 rows, perhaps there was a problem executing this data query. You can run this data query in debug mode  t

RH+Oracle安装过程中碰到的一些值得总结的问题

昨天大半夜装一个RH5+Oracle版本,期间碰到了几件事情,陈述如下,以此为据. 1. 安装前需要配置内核参数,可参考Oracle官方文档推荐的最低值来设置,但往往机器自身有些参数值已有了,例如kernel.shmmax.kernel.shmall,也参考过网上不少帖子,设置的值有所差别,此时官方文档中的一句话值得我们注意: "Note: If the current value of any parameter is higher than the value listed in this

Oracle RAC安装过程中碰到的“坑”和关键点(二)

(1) 依赖包的安装 Linux下安装Oracle,除了系统配置参数,我觉得依赖包的安装是另一个比较琐碎的操作. 本次安装碰到了几个包的问题: (a) rpm -Uvh gcc-4*提示: 02. error: Failed dependencies: 03.    cloog-ppl >= 0.15 is needed by gcc-4.4.7-4.el6.x86_64 04.    cpp = 4.4.7-4.el6 is needed by gcc-4.4.7-4.el6.x86_64 不

APP store 上架过程中碰到的那些坑&amp;被拒的各种奇葩原因整理&amp;审核指南中文版

苹果官方发布的十大常见被拒原因 1.崩溃次数和Bug数量.苹果要求开发者在将应用提交给App Store之前彻查自己的应用,以尽量避免Bug的存在. 2.链或错误的链接.应用中所有的链接必须是真实且有效的. 3.占位符内容.有占位符内容的应用将无法审核通过. 4.提交的信息不完整.苹果要求开发者提供所有必须在iTunes Connect的应用审查信息区(App Review Information Section)中提交审查时所需要用到的所有完整信息.这是应用审核未通过最常见的原因,占到了14%

serviceStack.Redis 在PooledRedisClientManager 中设置密码

ServiceStack.Redis 是一个C#访问Redis的客户端,可以说可以通过它实现所有需要Redis-Cli的功能.但是今天我在主Redis 实例设置了访问密码,而在slave 上没有设置,我通过一个缓存工厂来获取连接.在redisClient实例化可以直接设置密码. 1 /// <summary> 2 /// 缓存客户端管理器工厂 3 /// </summary> 4 public class PoolManagerFactory 5 { 6 private stati

聊一聊 MySQL 中的数据编辑过程中涉及的两阶段提交

MySQL 数据库中的两阶段提交,不知道您知道不?这篇文章就简单的聊一聊 MySQL 数据库中的两阶段提交,两阶段提交发生在数据变更期间(更新.删除.新增等),两阶段提交过程中涉及到了 MySQL 数据库中的两个日志系统:redo 日志和 binlog 文件. redo 日志前面已经介绍过了,就不再介绍了,简单的聊一聊 binlog 文件,binlog 是 MySQL server 层提供的二进制文件,因此所有的存储引擎都可以使用 binlog 功能,binlog 是追加写的逻辑日志,记录了执行

【Angular JS】网站使用社会化评论插件,以及过程中碰到的坑

目前正在开发自己的网站,技术上使用Angular JS + Express JS + Mongo DB.由于网站会有文章发布,因此需要有评论功能.评论功能也可以自己开发,但由于现在社会化评论插件很多,因此没有必要多花精力,使用专业的就好. 1. 什么是社会化评论插件?都有哪些常用的插件? 社会化评论插件,指的就是无需自己开发评论功能,在自己网页上使用第三方的评论框,发出的评论将被保存在第三方的服务器上.使用时要在插件提供方官网上注册,注册好之后可获取实现功能的JS代码,以及将来可在官网上管理自己

Oracle RAC安装过程中碰到的“坑”和关键点(一)

在物理机上使用虚机搭建RAC环境时碰到了很多"坑"和关键点,这里慢慢一一回味总结下. 物理机:Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz,8G内存 虚拟机软件:VMware ServerVersion 2.0.2 数据库软件:Oracle 11.2.0.1.Grid 虚机操作系统:Oracle Linux 6.2 虚机安装规划:本地硬盘20G,内存2G,共享磁盘共有4块:2块VOTE,各1.2G,2块数据盘,各5G (1) 虚拟机本地磁盘和共享磁盘