python中Redis安装及基本操作
来源:互联网 发布:steam淘宝为什么便宜 编辑:程序博客网 时间:2024/06/05 03:20
- NoSQL简介
NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
虽然NoSQL的流行与火起来才短短几年的时间,但是不可否认,现在已经开始了第二代运动。尽管早期的堆栈代码只能算是一种实验,然而现在的系统已经更加的成熟、稳定。不过现在也面临着一个严酷的事实:技术越来越成熟——以至于原来很好的NoSQL数据存储不得不进行重写,也有少数人认为这就是所谓的2.0版本。该工具可以为大数据建立快速、可扩展的存储库。Redis 安装yum install -y epel-releaseyum install -y gcc jemalloc-devel wgetcd /usr/local/srcwget https://codeload.github.com/antirez/redis/tar.gz/2.8.21 -O redis-2.8.21.tar.gztar xf redis-2.8.21.tar.gzcd redis-2.8.21makemake PREFIX=/usr/local/redis installmkdir /usr/local/redis/etc wget http://www.apelearn.com/study_v2/.redis_conf -O /usr/local/redis/etc/redis.conf 2>/dev/null # 下载配置文件wget http://www.apelearn.com/study_v2/.redis_init -O /etc/init.d/redis 2>/dev/null # 下载启动脚本useradd -s /sbin/nologin redismkdir /usr/local/redis/varchmod 777 /usr/local/redis/varchmod 755 /etc/init.d/redischkconfig --add redischkconfig redis on/etc/init.d/redis start
- redis服务搭建
In [1]: import redisIn [2]: r = redis.Redis(host='127.0.0.1', port=6379) # redis.Redis() 用于连接 redisIn [3]: r.set('name', 'Tom') # set() 用于设置key值Out[3]: TrueIn [4]: print r.get('name') # get() 用于获取key值Tom[root@localhost ~]# /usr/local/redis/bin/redis-cli // 连接Redis127.0.0.1:6379> keys * // keys 用于查看所有key,也可以模糊匹配,如 keys my*127.0.0.1:6379> exists name // exists 用于判断是否有某个key,有返回1,没有返回0127.0.0.1:6379> del name // del 用于删除指定的key,成功返回1,失败返回0127.0.0.1:6379> expire name 100 // expire 用于设置指定的key多长时间后过期,单位为秒127.0.0.1:6379> persist name // persist 用于取消指定key的过期时间127.0.0.1:6379> ttl name // ttl 用于查看指定的key还有多长时间过期,返回-2表示没有该key,返回-1表示没有设置过期时间,其他表示还有多长时间过期127.0.0.1:6379> select 0 // select 用于选择哪个库127.0.0.1:6379> move name 2 // move 用于把指定的key移到哪个库下127.0.0.1:6379> randomkey // randomkey 用于随机返回一个key127.0.0.1:6379> rename k1 k2 // rename 用于重命名key127.0.0.1:6379> type name // type 用于查看指定key的类型127.0.0.1:6379> dbsize // dbsize 用于返回当前数据库中key的数目127.0.0.1:6379> info // info 用于返回redis数据库的状态信息127.0.0.1:6379> flushdb // flushdb 用于清空当前数据库中的所有key127.0.0.1:6379> flushall // flushall 用于清空所有数据库中的所有key
- redis连接池
当应用程序对数据库进行增删改查等操作时,需要先连接数据库,但是如果应用程序需要频繁地连接数据库进行增删查改操作,那就需要不断地创建连接,这是很耗时且耗资源的操作,也容易对数据库造成安全隐患。所以,当应用程序启动时先建立足够的数据库连接,并将这些连接组成一个连接池,当应用程序需要连接数据库进行增删查改操作时,再使用连接池中的连接,这样可以保证较快的数据库读写速度,还更加安全可靠。
数据库连接池的运行机制如下:
(1) 程序初始化时创建连接池
(2) 使用时向连接池申请可用连接
(3) 使用完毕,将连接返还给连接池
(4) 程序退出时,断开所有连接,并释放资源In [5]: import redisIn [6]: pool = redis.ConnectionPool(host='127.0.0.1', port=6379) # redis.ConnectionPool() 用于创建一个连接池In [7]: r = redis.Redis(connection_pool=pool) # 通过 redis.Redis() 连接到连接池In [8]: r.set('name', 'Tom') # 执行 redis 操作Out[8]: TrueIn [9]: r.get('name')Out[9]: 'Tom'
- redis管道
redis-py默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pipline实现一次请求指定多个命令,并且默认情况下一次pipline 是原子性操作。减少功耗redis是一个cs模式的tcp server,使用和http类似的请求响应协议。一个client可以通过一个socket连接发起多个请求命令。每个请求命令发出后client通常会阻塞并等待redis服务处理,redis处理完后请求命令后会将结果通过响应报文返回给client。
阅读全文
0 0
- python中Redis安装及基本操作
- Python—操作redis及Windows 安装启动Redis
- python开发 Mysqldb安装及基本操作
- Python中函数定义及基本操作
- java中redis基本操作
- 走近Redis(一)——Redis安装及基本key操作
- 【Redis】安装及入门操作
- redis安装及简单操作
- redis 安装及操作详解
- redis安装及简单操作
- python中redis字符串操作
- redis 基本数据类型及操作学习(二)
- redis的基本类型及操作命令
- Redis常用数据类型及基本操作
- Redis数据库简介及基本操作
- Redis初识(安装与基本操作)
- Redis的安装以及基本操作简介
- win redis 安装 基本操作 设置密码
- JavaScript学习笔记整理(四)
- “智医助理”噱头>实用性?详解科大讯飞医疗新布局
- 使用Kotlin自定义流式布局
- 人工智能进入日常生活,餐饮业开始流行用AI自动配发优惠券
- 手把手教你估算深度神经网络的最优学习率(附代码&教程)
- python中Redis安装及基本操作
- CF 893E 素因子分解+多重集排列
- struts后端获取前端传入的值
- 牛客网Wannafly挑战赛4 C.割草机(模拟)
- net-snmp 代理端开发问题记录
- 图像卷积与滤波的一些知识点
- Codeforces-343D:Water Tree(树链剖分)
- 安卓自定义View基础-坐标系
- 大数据 の HBase 进阶