# redis数据库:基于内存的高性能key-value数据库,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存;
#缺点:1、数据库容量受到物理内存的限制,不能用作海量数据库的高性能读写,因此redis适合的场景主要局限在较小数据量的高性能操作和运算上。
#使用redis的好处:
#1、速度快---因为数据存在内存中,类似于HashMap(HashMap查找和操作的时间复杂度为0),每秒可以处理10w次读写操作
#2、支持多种数据类型---支持string,list,set,sorted set,hash,单个value的最大限制是1G
#3、支持事物、操作的原子性---所谓原子性就是要么全部执行,要么全部不执行
#4、丰富的特性(过期时间)---可用于缓存,消息,按key设置过期时间,过期后数据自动被删除
#5、redis比memcached的优势:
# memcached所有值只是简单的字符串,redis多种数据类型
# redis速度比memcached快很多
# redis可以持久化其数据
#6、redis比memcached的区别:
# 存储方式:memcached把数据全部存在内存中,断电后会挂掉,数据不能操作内存大小;redis有部分数据在硬盘上,这样能保证数据的持久化
# 支持数据类型:memcached 只有简单字符串;redis 支持string、list、set、sorted set、hash
# 使用底层模式不同:它们之间底层通信方式、客户端之间通信的应用协议不一样。redis直接自己构建了VM机制,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求
#7、redis常见性能问题解决:
# master写内存快照,save命令调度rdbsave函数,会阻塞主线程的工作,当快照比较大时相对性能影响是非常大的,会间断性暂停服务,所以master最好不要写内存快照。
# master AOF持久化:如果不重写AOF文件,这个持久化方式对性能的影响是最小的,但是AOF文件不断增大,AOF文件过大会影响master重启的恢复速度。master最好不要做
#任何持久化工作,包括内存快照和AOF日志文件,特别是不要启用内存快照做持久。
# master调用**重写AOF文件,AOF文件重写会调用大量的cpu,
# redis主从复制的性能问题,为了主从复制的速度和连接的稳定性,slave和master最好在同一个局域网内。 #mysql里有2000w数据 redis20w的数据,如何保障redis都是热点数据
#redis 6种数据淘汰策略(回收策略)
# 从已设置的过期时间的数据集中挑选最近最少使用的数据淘汰
# 从已设置的过期时间的数据集中挑选将要过期的数据淘汰
# 从已设置的过期时间的数据集中任意选择数据淘汰
# 从数据集中挑选最近最少使用的数据淘汰
# 从数据集中任意选择数据淘汰
# 禁止驱逐数据 #请用redis和任意语言实现 import redis
r=redis.Redis(host='118.24.3.40',password='HK139bc&*',port='6379',db=10) #string数据类型 #增加(name,value,失效时间,其中失效时间单位是秒)
r.set('Name','apple',500)
#删除
r.delete('Name')
#查询(返回值为b byte类型二进制数据,如果对结果操作,建议转换为string类型)
src=r.get('Name')
src1=str(src)
print(src1[2:-1]) #输出key(带info字样)
print(r.keys('*info')) #判断key值是否存在
r.exists('Name')
#清空数据库
#r.flushdb() #哈希类型
#增加(name,key,value)
r.hset('AA','aa','value')
#设置失效时间
r.expire('AA',500)
#查看失效时间
r.ttl('AA')
#查找---获取指定小key里面数据
r.hget('AA','aa')
#查找---所有key
r.hgetall('AA')
#删除---小key
r.hdel('AA','aa')
#删除---大key
r.delete('AA')

Python-----redis数据库的更多相关文章

  1. Python之操作redis数据库

    使用redis模块 一.操作redis 1.添加信息 (1)直接建key-value信息: 右键-Add New Key,手动添加key和value 右键-Console,打开控制台,写入命令 (2) ...

  2. Python使用Redis数据库

    Redis 简介 Redis是开源的高性能Key-Value数据库,可以用于缓存等用途. Redis可以提供事务和持久化支持保证并发安全性,并提供TTL(time to life)服务. 使用Redi ...

  3. redis python 操作 Python操作Redis数据库

    原文章于此:https://www.cnblogs.com/cnkai/p/7642787.html 有个人修改与改正 Python操作Redis数据库   连接数据库 StrictRedisfrom ...

  4. python爬取大众点评并写入mongodb数据库和redis数据库

    抓取大众点评首页左侧信息,如图: 我们要实现把中文名字都存到mongodb,而每个链接存入redis数据库. 因为将数据存到mongodb时每一个信息都会有一个对应的id,那样就方便我们存入redis ...

  5. python学习笔记(十六)python操作redis数据库

    Redis是一个key-value存储系统,它支持丰富的数据类型,如:string.list.set.zset(sorted set).hash. Redis特点 Redis以内存作为数据存储介质,所 ...

  6. Redis数据库的使用与介绍

    本周11-15号开始用Redis数据库在现有的平台基础上开发一个独立模块,这是一个边学习.边记录.边交流.边开发.边总结的过程.大部分随笔都是个人的“工作日志”,旨在记录自己学习过程中收集的一些资料, ...

  7. python操作数据库之批量导入

    python操作数据库之批量导入 Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进. Python具有丰富和强大的库.它常被昵称为胶水语言,能够把用其他语言制作的 ...

  8. 关于Redis数据库 ---- 基础篇

    Redis数据库也被称为数据结构数据库,因为存储基于key-value模式. 其中,value值可以为字符串(string),哈希(map),列表(list),集合(set)和有序集合(zset). ...

  9. linux下redis数据库的简单使用

    一.redis简介 Redis是一个key-value存储系统.和 Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持list ...

  10. Redis数据库概述

    Redis数据库概述 Redis是什么 redis是一个高性能的key-value存储系统.支持的value类型相对更多,包括string,list,set,zset(sorted set --有序集 ...

随机推荐

  1. (原)Max Area of Island(即连通域标记)

    转载请注明出处: https://www.cnblogs.com/darkknightzh/p/10493114.html 1. 问题 Given a non-empty 2D array grid ...

  2. Linux安装NET CORE

    Linux安装.NET CORE 1.Add the dotnet apt-get feed 为了在Ubuntu或Linux Mint上安装.NET,您需要首先设置托管所需软件包的apt-get fe ...

  3. mysql存储过程详解 mysql存储过程和函数

    第20章:存储程序和函数 目录 20.1. 存储程序和授权表 20.2. 存储程序的语法 20.2.1. CREATE PROCEDURE和CREATE FUNCTION 20.2.2. ALTER ...

  4. SNF软件开发机器人-子系统-功能-数据录入方式

    数据录入方式 数据录入方式是指新增数据时是直接在列表上添加或者弹出表单增加数据. 1.效果展示: (1)列表 (2)表单弹出 2.使用说明: 打开显示页面,点击开发者选项的简单配置按钮.在功能表信息中 ...

  5. Unity3D修改LWRP,HDRP的几项小问题及解决

    最近在看Book of the Dead的demo,其中对HDPR进行修改以构建自己的SRP,于是自己尝试了下.. 一般直接去Github下载对应unity版本的SRP工程: https://gith ...

  6. 【云计算】IaaS、PaaS和SaaS

    1. SaaS:Software-as-a-Service(软件即服务) 提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过客户端界面访问,如浏览器.消费者不需要管理或 ...

  7. test001

    #include <iostream> using namespace std; ][]; int main() { int num; ; ; i <= ; i++) dp[i][] ...

  8. Halcon中模板匹配方法的总结归纳

    基于组件的模板匹配: 应用场合:组件匹配是形状匹配的扩展,但不支持大小缩放匹配,一般用于多个对象(工件)定位的场合. 算法步骤: 1.获取组件模型里的初始控件 gen_initial_componen ...

  9. 一对一voip,直播连麦,在线会议,兼容webrtc,IM音视频

    功能 IM消息系统 一对一 高清音视频实时通信,可无缝切换P2P传输,节省服务器带宽 一对多互动直播 多对多在线会议 手机实时录屏传输 高度定制化 网络检测,动态码率与动态帧率,抗网络抖动,微信级效果 ...

  10. Ubuntu环境使用apt命令下载管理包的优势

    操作系统:Ubuntu 18.04 LTS 一.概述 之前在Ubuntu下我一直坚持将软件下载包下载到指定文件夹下进行解压安装的习惯,在部门同事的建议下,我开始使用apt命令下载管理包. 由于网上已经 ...