如果一个程序猿不懂散列,你基本上可以认为,他不懂算法。
redis的散列类型能为我们做什么呢?上例子吧,理论都是苍白的
# coding=utf-8
'''
Created on 2015-9-12
@author: Administrator
'''
import redis
pool=redis.ConnectionPool(host='192.168.1.105',port=6379,db=0)
r = redis.StrictRedis(connection_pool=pool)
#如果s1不存在,会自动创建,如果age不存在也会自动创建
r.hset('s1', 'age', '2')
r.hset('s1', 'name', 'sheng')
r.hset('s1', 'address', 'beijing')
#如果s2不存在,会自动创建,如果name不存在也会自动创建
#但如果name存在,这么这条语句不会被执行,这是hsetnx和hset的区别之处
r.hsetnx('s2','name', '升')
#如和判断一个键是不是存在呢?
print r.hexists('s1', 'age')
#获取一个键的值
print r.hget('s1', 'age')
#hget一次只能获得一个键的值,我们希望获取所有的,返回的是一个dict
print r.hgetall('s1')
#现在想给年龄加1
print r.hincrby('s1', 'age', 1)
#现在想给年龄加半岁
print r.hincrbyfloat('s1', 'age', 0.5)
#现在,想删除一个键
print r.hdel('s1','address')
看过例子,你应该明白散列能做什么了,假设我们有一个网站,存储几千万用户的基本信息,那么这个就可以用redis来存储哦,每一个name映射到一个用户,里面的key就是用户的基本信息,