>  기사  >  데이터 베이스  >  让redis也能实现数据库才有的増删改、查询过滤功能

让redis也能实现数据库才有的増删改、查询过滤功能

WBOY
WBOY원래의
2016-06-07 15:23:151055검색

redis性能强悍,多机方便,但是这种key=value机制的系统,乎无法实现数据库特有的増删改、查询过滤 经过几天学习,乎找到一个办法。。。。 (虽然有点累赘,但胜于无。也算是redis初学者的抛砖引玉) 例子:表man,字段id、姓名、年龄、城市 记录数据: 1 zha

redis性能强悍,多机方便,但是这种key=value机制的系统,似乎无法实现数据库特有的増删改、查询过滤


经过几天学习,似乎找到一个办法。。。。
(虽然有点累赘,但胜于无。也算是redis初学者的抛砖引玉)


例子:表man,字段id、姓名、年龄、城市
记录数据:
1 zhangsan 20 bj
2 lisi 25 sh
3 wangwu 20 sz
4 zhaoliu 25 bj
5 maqi 20 sz


批量insert:
hset man.1 name zhangsan age 20 city bj
hset man.2 name lisi age 25 city sh
hset man.3 name wangwu age 20 city sz
hset man.4 name zhaoliu age 25 city bj
hset man.5 name maqi age 20 city sz
//建立索引
sadd man.age.20 1 3 5
sadd man.age.25 2 4


sadd man.name.zhangsan 1
sadd man.name.lisi 2
sadd man.name.wangwu 3
sadd man.name.zhaoliu 4
sadd man.name.maqi 5


sadd man.city.bj 1 4
sadd man.city.sh 2
sadd man.city.sz 2 5


insert单人:
6 zhouba 22 sz
hset man.6 name zhouba age 22 city sz
sadd man.age.22 6
sadd man.name.zhouba 6
sadd man.city.sz 6


delete:3
t=hget man.3 name
srem man.name.[t] 3
t=hget man.3 age
srem man.age.[t] 3
t=hget man.3 city
srem man.city.[t] 3
del man.3


update:4 city:bj->sh
t=hget man.4 city
srem man.city.[t] 4
sadd man.city.sh 4
hset man.4 city sh


查询:city=sz 的人
smembers man.city.sz


查询:age=20 的人
smembers man.age.20


查询:city=sz and age=20 的人
sinter man.city.sz man.city.20
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.