linux-python-redis(NOSQL)简单操作
原创所有,转载请注明本文超链接地址以及作者,谢谢! http://blog.sina.com.cn/s/blog_83dc494d0101c6lc.html
又接触了一个新东西哈,redis数据库,貌似听说就是NOSQL,这种数据库的特点就是只有两列,key/values (列名,数据),说一般微博之类的都用这个存储数据的。废话不说,看步骤。
首先下载redis数据库
1. -- >wget
http://download.redis.io/releases/redis-2.6.16.tar.gz #或者到网站下载http://redis.io
2. -- > tar -zxvf redis-2.6.16 #解压
3. -- > cd redis-2.6.16
4. -- > make #编译
5. -- > make install
6. -- > cd untils
7. -- > ./install_server
8. -- > redis-server #运行redis数据库
下载python对redis数据库的支持 redis-py
1. -- >svn checkout
https://github.com/andymccurdy/redis-py
下载后进入redis-py文件夹内
2
-->cd
redis-py/trunk/
#进入配置文件夹内
3
-->sudo python setup.py install #配置redis-py,
4
-->rm -rf redis-py #返回到redis-py所在文件夹,删除掉即可(第三步已经把redis-py所需要的库配置到了python所在的目录)
mkdir /home/zhangzhipeng/py/redis_test #创建一个写程序的目录(自由支配)
cd /home/zhangzhipeng/py/redis_test
vi redis_test.py
---------------------------------------------------------------------
#!/usr/bin/python
#!coding:utf-8
import redis #导入redis-py模块
class redis_db:
if __name__ =='__main__':
---------------------------------------------------------------------
ESC --> : --> wq -->Enter
python redis_test.py
======================================
下面再看一下对大数据,大量的数据进行读写的操作。
vi redis_more_test.py
----------------------------------------------------------------------
#!/usr/bin/python
#!coding:utf-8
import redis
class redis_db:
def __init__(self):
self.host = 'localhost' #主机,本机为localhost
self.port = 6379 #段口号,默认为6379
def read_more(self,keys):
def test():
if __name__ =='__main__':
---------------------------------------------------------------------
ESC --> : --> wq -->Enter
python redis_test.py
======================================
当然,有的人会问单条for循环存储和for循环后批量存储区别在哪?区别很大,假如你有1W数据,可以分别测试一下存取1W条数据的时间。1W条的批量处理,时间为1.5s以下,而单条存储的时候上10s也不足为怪。
下面我直接把握的代码放上来,供大家借鉴学习(其实我也是照搬的```~~),而且我把keys和values写到__init__函数块中了当时主要是脑子抽筋了,反正用来练习的。
-------------------------------------------------------------------
#!/usr/bin/python
import redis #导入redis 模块
import datetime #时间模块
class redis_data():
##################单条操作###################
##################批量操作###################
####################测试用例##################
#------------
test
----------------
def test_0(data): #单条读写--用来测试能否对数据库进行读写
def test_2(data):#批量读写--测试对比时间
#-----------
test end -----------
if __name__ == "__main__":
------------------------------------------------------------------------------------
看看效果
get
-->5.088s
mget -->0.109s
------
set
-->5.141s
mset -->0.043s
可见差距之大,所以尽量存储一段时间或者一定数量后再进行读写。
好了redis数据库基础操作结束。
原创所有,转载请注明本文超链接地址以及作者,谢谢! http://blog.sina.com.cn/s/blog_83dc494d0101c6lc.html