操作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( ...
随机推荐
- [LeetCode] Swim in Rising Water 在上升的水中游泳
On an N x N grid, each square grid[i][j] represents the elevation at that point (i,j). Now rain star ...
- viewport的故事(一)
部分翻译 自原文 https://www.quirksmode.org/mobile/viewports.html 概念:设备像素和CSS像素 设备像素可以通过 screen.width/he ...
- 20 由属性查询学习到的ArcMap、javaScripts API相关操作
因项目需要,想要在属性查询的时候连同相关的图片一并查出来,但是因为要查询的图层众多,且字段不固定,而且还要方便后期维护,因此一个个单独配置并不是最优的解决方法 为实现这个功能,我想到如下几种解决方法 ...
- File类中的一些属性 添加删除文件夹
import java.io.File; import java.io.IOException; public class FileD { public static void main(String ...
- tomcat多实例
//结合博主之前的安装tomcat的博文一起看,tomcat多实例就是在不同路径启动多个tomcat,然后在本机不同端口启动 [root@ycj ~]# cd /usr/local/src/ [roo ...
- Ubuntu-1604-LTS在虚拟机设置分辨率
在虚拟机中安装ubuntu系统时,有时系统的界面并不同虚拟机展示的匹配,需要我们进行调整.不用那么多废话,直接看图:
- AppStore关键词覆盖法则标记
https://www.jianshu.com/p/6b39b0dc6ba4 多批设置关键字
- 与PON相关的abbreviation
AAL:Asynchronous transfer mode Adaptation Layer 异步传输适配层 ACS:Autoconfiguration Server 自动配置服务 ADSL:Asy ...
- spring 相关注解详情(一)
1.@controller 控制器(注入服务) 用于标注控制层,相当于struts中的action层2.@service 服务(注入dao) 用于标注服务层,主要用来进行业务的逻辑处理3.@repos ...
- Libvmi实现分析
LibVMI是一个专注于读写虚拟机内存的自省库,它能够监视虚拟机底层的运行细节并将其还原.LibVMI支持对Xen及KVM虚拟化平台上的运行虚拟机进行自省操作,针对KVM虚拟化平台,LibVMI对QE ...