数据库分为:
  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. vue引入外部.css文件,webpack将其与.vue中的样式混合打包了,怎么办?

    我使用vue-cli搭自己的博客,希望引入公共样式: // main.js import './assets/styles/common.css' 我本来是希望webpack打包后,能将这个样式独立打 ...

  2. CUDA相关问题

    之前装了GPU驱动后,再装了CUDA 9.0,再装了cuDNN,并且对样例mnistCUDNN进行执行,显示“Test passed!"通过.但是倒忘了有没有测试CUDA是否安装成功.驱动也 ...

  3. Could not find artifact cn.e3mall:e3mall-parent:pom:0.0.1-SNAPSHOT

    [ERROR] [ERROR] Some problems were encountered while processing the POMs:[FATAL] Non-resolvable pare ...

  4. day22:初识面向对象

    1,类可以理解为是一个模子,可以是代码精简,方便增加实例,方便修改,更加规范,能知道具体的属性,方法,但是不知道具体的值 2,对象有具体的值,属性和技能都是根据类规范的 3, 先有类才有对象 4,面向 ...

  5. mysql新特性

    5.7新特性 sys库 document store X protocol json支持 空间数据 虚拟列 query rewrite plugin 表空间传输 innodb undo表空间 表空间管 ...

  6. Autofac之依赖注入

    这里主要学习一下Autofac的依赖注入方式 默认构造函数注入 class A { public B _b; public A() { } public A(B b) { this._b = b; } ...

  7. Redis的数据结构之sorted-set

    存储Sorted-Set Sorted-Set和Set的区别 Sorted-Set中的成员在集合中的位置是有序的 存储Sorted-set常用命令 添加元素 获得元素 删除元素 范围查询 扩展命令 z ...

  8. input type = file 在部分安卓手机上无法调起摄像头和相册

    移动端H5web 用input type = file 在部分安卓手机上无法调起摄像头拍照,有的也无法访问相册而是直接访问了文档,解决办法是: 加上 accept = "image/*&qu ...

  9. (转载)Oracle procedure 基本语法

    转自:http://www.cnblogs.com/wolfplan/p/4004624.html 关键字: oracle 存储过程 1.基本结构 CREATE OR REPLACE PROCEDUR ...

  10. xamarin.forms 动态条件更换数据模板

    解决方案1:  https://oren.codes/2014/12/31/datatemplateselector-for-xamarin-forms/ 解决方案2:  https://docs.m ...