标签:获取 用户 select 设定 pipe hex get 交互 import
redis
键值对非关系型数据库
一、常用操作
1、连接redis
redis-cli
2、string类型命令(可以存储各种类型的数据):
#设定值
set key values
#设定有效时间的值
setex key 时间 value
#获取值
get key
#获取多个值
mget key1 key2
#添加值
append key ‘要添加的信息‘
3、key 相关命令
#查询所有的键(后面支持正则)
keys *
#判断是否存在
exists key
#删除键及对应值
del key
4、hash 命令(存储对象结构)
#设置
hset key 属性名 value
#获取单个属性的value
hget key 属性名
#获取key 对应的所有属性与value
hgetall key
5、list 命令(每个元素的类型为string)
#从左/右插入数据
lpush/rpush list value
#基于value插入新的元素
linsert list before/after value 要插入的value
#取出并删除元素
lpop/rpop list
#查看所有元素
lrange list 0 -1
#返回指定索引的值
lindex list 下标
6、set 无序不重复集合
#无序添加数据
sadd key member
#获取
smembers key
#返回元素个数
scard key
#求交集/合集
sinter/sunion key1 key2
二、redis与Python交互
from redis import *
#建立连接
r = StrictRedis(host=‘localhost‘,port=6379)
#写入
pipe = r.pipeline()
pipe.set(‘py10‘,‘hello‘)
pipe.set(‘py11‘,‘world‘)
pipe.excecute()
#读取
temp = r.get(‘py10‘)
print(temp)
三、登陆功能,将用户加入redis中
from MysqlHelper import MysqlHelper
from hashlib import sha1
class redisHelper():
def __init__(self,host,port):
self.__redis = StrictRedis(host,port)
def set(self,key,value):
self.__redis.set(key,value)
def get(self,key):
return self.__redis.get(key)
name = raw_input(‘请输入用户名‘)
pwd1 = raw_input(‘请输入密码‘)
#对密码用sha1进行加密
s1 = sha1()
s1.update(pwd1)
pwd2 = s1.hexdigest()
#创建redis对象 与MySQL对象
r = redisHelper(‘localhost‘,6379)
m = MysqlHelper(‘loclahost‘,3306,‘python3‘,‘root‘,‘mysql‘)
if r.get(name)==None:
sql=‘select passwd from users where name=%s‘
pwd3 = m.search(sql,[name])
if pwd3==None:
print(‘用户名错误‘)
else:
r.set(name,pwd3[0])
if pwd3[0] == pwd2:
print(‘成功‘)
else:
print(‘密码错误‘)
else:
if r.get(name) == pwd2:
print(‘成功‘)
else:
print(‘密码错误‘)
标签:获取 用户 select 设定 pipe hex get 交互 import
原文地址:https://www.cnblogs.com/dalun101/p/9374008.html