操作redis
数据库分为:
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的更多相关文章
- Java Spring mvc 操作 Redis 及 Redis 集群
本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5941953.html 关于 Redis 集群搭建可以参考我的另一篇文章 Redis集群搭建与简单使用 R ...
- Java中使用Jedis操作Redis(转载)
整理 1.字符串 添加:set keyname value 查询:get keyname 拼接:append keyname value 删除:del keyname 添加多个: mset keyna ...
- (转)Java中使用Jedis操作Redis
转自http://www.cnblogs.com/liuling/p/2014-4-19-04.html 使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://file ...
- Python—操作redis
Python操作redis 连接方式:点击 1.String 操作 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建, ...
- php操作redis简单例子
<?php //在PHP里操作Redis //Redis就是php的一个功能类 //创建Redis对象 $redis = new Redis(); //链接redis服务器 $redis -&g ...
- python——操作Redis
在使用django的websocket的时候,发现web请求和其他当前的django进程的内存是不共享的,猜测django的机制可能是每来一个web请求,就开启一个进程去与web进行交互,一次来达到利 ...
- 使用jedis操作redis
一 连通性 1. 简单代码测试连通性 Jedis jedis = new Jedis(".......", 6379); String keys = "name" ...
- Java中使用Jedis操作Redis
使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip 如果需要使用Redis ...
- Python操作Redis、Memcache、RabbitMQ、SQLAlchemy
Python操作 Redis.Memcache.RabbitMQ.SQLAlchemy redis介绍:redis是一个开源的,先进的KEY-VALUE存储,它通常被称为数据结构服务器,因为键可以包含 ...
- 通过PHP扩展phpredis操作redis
我们使用phpredis,这个扩展能让你用PHP操作redis. 源码下载: phpize ./configure ); var_dump($result); echo $redis->get( ...
随机推荐
- JS-对象的数据重复
<title>01-对象中数据的重复</title> <script type="text/javascript"> var arr = []; ...
- CDN请求失败,请求本地
方法一: <script src="http://lib.sinaapp.com/js/jquery11/1.8/jquery.min.js"></script& ...
- 换目标啦,初识PHP
一.初识PHP脚步程序 1.PHP开始标记 <?php 2.PHP结束标记 ?> <?php?> 3.我们的页面最终是通过html,css,js来展示出一个炫丽的界面 4.PH ...
- EF Core HasQueryFilter 的小坑
这是今天在实际项目中遇到的一个问题,Entity Framework Core 2.2 生成了下面的 SQL 语句,INNER JOIN 部分丑陋的 SQL 语句让人无法忍受. SELECT TOP( ...
- Python 学习笔记7 条件语句 If
Python中条件语句if 是通过一条或者多条的执行语句的结果,来判断是否执行其包含的代码块. 通常会配合else.elif一起使用,达到根据条件进行多个代码块的执行操作. 简单的if score = ...
- vs代码模板制作
VS2008代码模板制作 一,类模板制作: 路径:C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplate ...
- 二、jspxcms使用-用户和模型
原本想二次开发,后来放弃了,里面东西很多. 1.用户 菜单位置:用户权限 注意:用户中 id为0和1的用户为默认用户,不要删,0是默认管理员用户,1是匿名账户. 会 ...
- AWS deepracer
0.安装 坑很多,Ubuntu16.04上安python3,gazebo9,各种包,最后在python2下roslaunch,参见我爱豆的github: https://github.com/exit ...
- 虚拟机中linux系统的安装教程
虚拟机是什么? 虚拟机(Virtual Machine)是指一种特殊的软件,可以在计算机和用户之间创建一种环境,用户可以用这个软件所创建的环境来操作.虚拟机就像像真实机器一样运行程序,满足用户的需求. ...
- jeecg中excel导出字段判空处理
我们清楚,jeecg 导出 excel 采用的是 easypoi,不知道是否遇到过这种情况: 我们以一个实体属性为例: @Excel(name="问题分类",dicCode=&qu ...