码迷,mamicode.com
首页 > 其他好文 > 详细

redis 简介

时间:2018-07-26 21:24:17      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:获取   用户   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(‘密码错误‘)

 

redis 简介

标签:获取   用户   select   设定   pipe   hex   get   交互   import   

原文地址:https://www.cnblogs.com/dalun101/p/9374008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!