搜了一下,似乎沒有redis的分版,正好方便從sql向redis轉換的同行,就發在本版吧
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