很久没认真推荐过东西了,实在是人懒也没以前那么有心思去研究新东西,其实本文要推荐的玩意儿也不是自己发现的,是一为技术宅同事瞎逛github后发现推荐给我的。
好了废话不多说,直接进正题。今天我要推荐的是一款python的redis工具。看到这里肯定很多人就要喷了,redis官方本来就有python的第三方库(redis)了为什么还要你来推荐。行,别急,听我先解释redisco的不同点。
redisco:
1)纯pyhton开发而成,你可以直接看它的源码(github地址:https://github.com/iamteem/redisco).
2) 带有redis的所有功能,因为它是基于redis这个官方的库上开发而成的.
3) 可以以django自带orm的方式将数据存入redis,并且提供了大多数和django的orm相同的查询功能.
其实我主要就是要介绍上面的第三点,redisco的 model(django里也叫着名字)类,它提供的这种能让数据以类似python内部的dict或者class的形式存储到redis里,这样我们对 redis的使用就接近nosql数据库了(因为redis自带持久化存储的功能)。
手把手教程范例教程开始:
创建一个你要存进redis的模型,你可以理解为是mysql里的表,需要继承models.Model类
类里面支持的所有数据类型如下:
>>person = Person(name="hupu")
因为name是必填字段所以必须要给
然后 调用save方法就存储到redis里去了。
>>person.save()
True
返回True就是成功了。
查询刚刚存进去的数据,跟django的orm真的很像
>>conchita = Person.objects.filter(name='hupu')[0]
查询所有的Person
>> all_person = Person.objects.all()
查询age大于某5岁
>> all_person = Person.objects.zfilter(age__gt=5) 小于 就是 字段名__lt 范围 就是 字段名__in=(0,5)
查询范围的都是一个list别忘了[0] 来获得一个结果
最后提一点,redisco.model.Model类存储数据时,对于除了Counter类型以外的所有类型字段有更改比如 person.age = 5 将年龄改为5 都要调用person.save()方法才能更改成功。
更多的功能可以看它的测试代码里的例子https://github.com/iamteem/redisco/blob/master/tests/models.py 和 https://github.com/iamteem/redisco 首页的文档。
转: ITeye技术网站
-**--*-
make######+1
刚存进去的数据,跟django的orm真的很像
conchita = Person.objects.filter(name='hupu')[0]
查询所有的Person
all_person = Person.objects.all()
查询age大于某5岁
all_person = Person.objects.zfilter(age__gt=5) 小于 就是 字段名__lt 范围 就是 字段名__in=(0,5)
查询范围的都是一个list别忘了[0] 来获得一个结果
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。