linux 系统 python 中 使用 redis

一、安装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

在这里插入图片描述

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()

 # create or refresh session.
 ret = self.r.setex(name=sid, value=content, time=expire)
 return sid if ret is True else None
4、获取指定sid里面的内容,如果需要更新失效时间,则需要传入格外的参数
def GetSession(args):
    """
    """
    # get session content.
    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:
        # refresh.
        ret = session.RefreshSession(
            sid = args['sid'],
            expire = int(args['lifetime'])
        )

        logger.info('RefreshSession : %d' % ret)

    # success response.
    return (True, {'code': 200, 'content': c})

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值