一、安装redis和部署
1、下载redis压缩包
wget http://download.redis.io/releases/redis-3.0.0.tar.gz
2、解压源码
tar -zxvf redis-3.0.0.tar.gz
3、进入解压后的目录进行编译
cd /usr/local/redis-3.0.0
make PREFIX=/usr/local/redis install
4、把配置文件复制到安装目录下,然后修改配置文件,把daemonize 项改为yes
cp redis.conf /usr/local/redis/bin
vim /usr/local/redis/bin/redis.conf
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3eacfb1ed7d204fb03f582781956130a.png)
5、启动 redis (redis部分 到这一步就够了)
cd /usr/local/redis
./bin/redis-server ./redis.conf
6、链接 redis
/usr/local/redis/bin/redis-cli
二、python中使用redis
1、redis默认是0-15共16个db,你可以指定如登录session使用0,验证码检验使用1等隔开两个db。
g_redis_db = {
'session': 0,
'vcode': 1,
}
2、存储session时,先链接session对应的db
import redis
r = redis.StrictRedis(host = 'localhost', port = 6379, db = g_redis_db['session'])
3、存储对应的sid 和 内容,content 为内容,sid为传入或者生成,expire为过期时间
def SetSession(content, sid=None, expire=None):
"""
content: any string (JSON serialization recommended).
sid: a MD5 string auto-generated.
expire: life cycle in seconds.
"""
expire = expire if expire else 1200
import hashlib
ntime = time.time()
if sid is None: sid = hashlib.md5("%f.%d" % (ntime, random.randint(100, 999))).hexdigest()
ret = self.r.setex(name=sid, value=content, time=expire)
return sid if ret is True else None
4、获取指定sid里面的内容,如果需要更新失效时间,则需要传入格外的参数
def GetSession(args):
"""
"""
c = r.get(sid = args['sid'])
if c is None:
logger.error("GetSession [%s] Failure." % args['sid'])
return (False, {'errkey': 'SESSION_NOT_FOUND'})
if 'lifetime' in args:
ret = session.RefreshSession(
sid = args['sid'],
expire = int(args['lifetime'])
)
logger.info('RefreshSession : %d' % ret)
return (True, {'code': 200, 'content': c})