ServiceStack.Redis 使用过程中碰到的两个问题
来源:互联网 发布:知乎更新图标 编辑:程序博客网 时间:2024/05/21 08:48
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版本已经逐渐商业化了,普通版每小时智能访问Redis6000次,要取消这个限制就要付费或者您也可以往回使用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 相对应才行。
0 0
- ServiceStack.Redis 使用过程中碰到的两个问题
- ServiceStack.Redis 使用过程中碰到的问题
- 使用myfaces过程中碰到的问题
- Loadrunner使用过程中碰到的问题
- Selenium使用过程中碰到的问题
- Odps使用过程中碰到的问题。
- AndroidStudio使用过程中碰到的问题
- C#中如何使用redis--ServiceStack.Redis
- ServiceStack.Redis的问题与修正
- ServiceStack.Redis 使用教程
- ServiceStack.Redis 使用教程
- ServiceStack.Redis 使用教程
- ServiceStack.Redis 使用教程
- JDeveloper使用过程中碰到怪问题的解决
- CSP编程基础--CryptAPI使用过程中碰到的问题
- 使用CMAKE过程中碰到的栈溢出问题总结
- selenium RC 使用过程中碰到的小问题
- CSP编程基础--CryptAPI使用过程中碰到的问题
- php multipart/form-data DOS C#测试工具
- 第九周 项目五--方程也是类
- [leetcode][tree][stack] Binary Search Tree Iterator
- IOS 整体框架类图值得收藏
- 稻盛和夫给中国企业家的忠告
- ServiceStack.Redis 使用过程中碰到的两个问题
- 随机更换背景颜色和背景时钟
- Hibernate入门
- 【原创】sqlite3数据库SQL error: database disk image is malformed问题探究(1)
- python book 学习笔记(二)
- 腾讯实习面试总结
- 快慢指针在链表中的应用
- Longest Palindromic Substring leetcode 5
- 如何让PC浏览器作为文件管理器(client),访问android手机(server)?