数据库分为:
  1)传统的关系型数据库
mysql、oracle、sql server、sqllie、db2
id name passwd cratetime stu
特点:
a 数据存在磁盘上
b 使用sql语句来操作数据
c 表与表之间有关系 2)非关系型数据库 nosql
由键值对组成:{'name':'xxx',''}
mongodb 数据存在磁盘上的
redis 数据都是存在内存里面 1.连接redis
import redis
r = redis.Redis(host='123.24.3.45',port=6379,password='123',db=10)
增删改查:(操作String类型)

# r.set('nhy_info','age 18 sex nan sdfsdfsdfsd') #增加、修改数据
# res = r.get('nhy_info_hhh') #获取数据,获取不到就返回None(返回bytes类型的数据)
# r.delete('nhy_info') #指定一个key删除他,key不存在的话
# print( res.decode() ) #编码,就变成了字符串 其他的方法
# print(r.keys('*info')) #获取到所有的key(*info,把info结尾的过滤)
# print(r.exists('dashu_name')) #判断这个key是否存在
# r.flushdb()#可以清空当前数据库里面所有的key
# r.expire('session_crm',600)#指定key的失效时间
# print(r.ttl('session_crm'))#用来这个key的失效时间
# print(r.type('session_crm'))#看key的类型 
2.hash 哈希类的key

哈希类型可以理解为一个字典嵌套字典
select 10 redis的命令行里面select 8 就是切换数据库
增删改查:(操作hash类的key)
r.hset('session_crm','liuxinyu','sdfjksdklfjssdf') #
r.hset('session_crm','zhouyifan_','ssdfsdfjksdklfjssdf') #
r.hset('session_crm','laowang___','ssdfsdfjksdklfjssdf') #
#修改也是hset
# r.hdel('session_crm','liuxinyu') #删除指定的小key
# r.delete('session_crm') #直接删除大key
# print(r.hget('session_crm','zhouyifan_'))#获取指定小key里面的数据
# res = r.hgetall('session_crm')#获取到hash类型里面所有的数据 eg:将bytes类型转化为字典
方法一:
a = {}
for k,v in res.items():
a[k.decode()] = v.decode()
print(a) 方法二:
for k,v in res.items():
res[k.decode()] = res.pop(k).decode() #能节省内存,因为他把原来的key删掉了
print(res)
注:res.pop(k)把原来的bytes类型的key删掉,返回value的值,这样res里就没有bytes类型的数据了

3.加密模块
import hashlib

s='123nhy456_++dfsdfsd'
print(s.encode())
m = hashlib.md5(s.encode()) #必须得传一个bytes类型的
print(m.hexdigest()) #获取到加密后的结果
def myMd5(s):
s = str(s)
m = hashlib.md5(s.encode()) #必须得传一个bytes类型的
return m.hexdigest() #md5不可逆
#所有一样的字符串,md5之后的结果都是一样的
#撞库(网上的解密是将所有常见数据的密文存放在一个库中,输入密文后通过与库中数据比对找到原文)
#md5 123456 md5_after e10adc3949ba59abbe56e057f20f883e # m = hashlib.sha384(s.encode())
# print(m.hexdigest())
 

操作redis的更多相关文章

  1. Java Spring mvc 操作 Redis 及 Redis 集群

    本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5941953.html 关于 Redis 集群搭建可以参考我的另一篇文章 Redis集群搭建与简单使用 R ...

  2. Java中使用Jedis操作Redis(转载)

    整理 1.字符串 添加:set keyname value 查询:get keyname 拼接:append keyname value 删除:del keyname 添加多个: mset keyna ...

  3. (转)Java中使用Jedis操作Redis

    转自http://www.cnblogs.com/liuling/p/2014-4-19-04.html 使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://file ...

  4. Python—操作redis

    Python操作redis 连接方式:点击 1.String 操作 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建, ...

  5. php操作redis简单例子

    <?php //在PHP里操作Redis //Redis就是php的一个功能类 //创建Redis对象 $redis = new Redis(); //链接redis服务器 $redis -&g ...

  6. python——操作Redis

    在使用django的websocket的时候,发现web请求和其他当前的django进程的内存是不共享的,猜测django的机制可能是每来一个web请求,就开启一个进程去与web进行交互,一次来达到利 ...

  7. 使用jedis操作redis

    一 连通性 1. 简单代码测试连通性 Jedis jedis = new Jedis(".......", 6379); String keys = "name" ...

  8. Java中使用Jedis操作Redis

    使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip 如果需要使用Redis ...

  9. Python操作Redis、Memcache、RabbitMQ、SQLAlchemy

    Python操作 Redis.Memcache.RabbitMQ.SQLAlchemy redis介绍:redis是一个开源的,先进的KEY-VALUE存储,它通常被称为数据结构服务器,因为键可以包含 ...

  10. 通过PHP扩展phpredis操作redis

    我们使用phpredis,这个扩展能让你用PHP操作redis. 源码下载: phpize ./configure ); var_dump($result); echo $redis->get( ...

随机推荐

  1. springmvc 学习资料

    https://github.com/brianway/springmvc-mybatis-learninghttps://www.bilibili.com/video/av18288362?from ...

  2. Java课程课后作业190315之从文档中读取随机数并得到最大连续子数组

    从我上一篇随笔中,我们可以得到最大连续子数组. 按照要求,我们需要从TXT文档中读取随机数,那在此之前,我们需要在程序中写入随机数 import java.io.File; import java.i ...

  3. Unity进阶----AssetBundle_01(2018/10/30)

    AssetBundle作用和定义 1).AssetBundle是一个压缩包包含模型.贴图.预制体.声音.甚至整个场景,可以在游戏运行的时候被加载: 2).AssetBundle自身保存着互相的依赖关系 ...

  4. 移动端web开发常见问题

    1.移动端如何定义字体font-family 三大手机系统的字体: ios 系统 默认中文字体是Heiti SC 默认英文字体是Helvetica 默认数字字体是HelveticaNeue 无微软雅黑 ...

  5. day 25 二十五、抽象类、多态、鸭子、反射、异常处理

    一.接口思想 1.接口:建立关联的桥梁,方便管理代码 python中没有接口语法 def jiao(): pass def chi(): pass def pao(): pass # 清晰知道操作的功 ...

  6. DjangoRestFramework学习三之认证组件、权限组件、频率组件、url注册器、响应器、分页组件

    DjangoRestFramework学习三之认证组件.权限组件.频率组件.url注册器.响应器.分页组件   本节目录 一 认证组件 二 权限组件 三 频率组件 四 URL注册器 五 响应器 六 分 ...

  7. Python通过简单的文件读写,来实现注册登录

    # -*- coding:utf-8 -*- '''''' username = input('请输入您的姓名:') password = input('请输入密码:') with open('get ...

  8. stm32直流电机驱动与测速代码配套视频资料

    说实话就现在的市场应用中stm32已经占到了绝对住到的地位,51已经成为过去式,32的功能更加强大,虽然相应的难度有所增加,但是依然阻止不了大家学习32的脚步,不说大话了这些大家都懂要不然也不会学习s ...

  9. 【C++】子序列匹配问题

    /* 一个串的“子序列”(subsequence)是将这个串中的一些字符提取出来得到一个新串,并且不改变它们的相对位置关系.例如,串"XDoi","XianYu!&quo ...

  10. Head First Python-python面向对象

    与大多数其他的编程语言一样,Python容许创建并定义面向对象的类,类可以将代码与代码处理的数据相关联. 对于更加复杂的数据,一般的列表已经不能满足需求了. 我们可以使用字典dict将数据值与键相关联 ...