Redis資料庫(初級)

2021-06-27 07:57:49 字數 2668 閱讀 5656

redis是乙個開源的非關係型資料庫,它採用c語言編寫,是乙個key-value儲存系統,它儲存的value型別很多,包括string(字串),list(鍊錶),set(集合),zset(有序集合),hash(雜湊)。

比如,我們插入一條資料,如下:

[python]view plain

copy

import

redis  

class

database:  

def__init__(

self

):  

self

.host = 

'localhost'

self

.port = 

6379

defwrite(

self

,website,city,year,month,day,deal_number):  

try:  

key = '_'

.join([website,city,str(year),str(month),str(day)])  

val = deal_number  

r = redis.strictredis(host=self

.host,port=

self

.port)  

r.set(key,val)  

except

exception, exception:  

print

exception  

defread(

self

,website,city,year,month,day):  

try:  

key = '_'

.join([website,city,str(year),str(month),str(day)])  

r = redis.strictredis(host=self

.host,port=

self

.port)  

value = r.get(key)  

print

value  

return

value  

except

exception, exception:  

print

exception  

if__name__ == 

'__main__'

:  db = database()  

db.write('meituan'

,'beijing'

,2013,9

,1,8000

)  db.read('meituan'

,'beijing'

,2013,9

,1)  

上面操作是先寫入一條資料,然後再讀取,如果寫入或者讀取資料太多,那麼我們最好用批處理,這樣效率會更高。

[python]view plain

copy

import

redis  

import

datetime  

class

database:  

def__init__(

self

):  

self

.host = 

'localhost'

self

.port = 

6379

self

.write_pool = {}  

defadd_write(

self

,website,city,year,month,day,deal_number):  

key = '_'

.join([website,city,str(year),str(month),str(day)])  

val = deal_number  

self

.write_pool[key] = val  

defbatch_write(

self

):  

try:  

r = redis.strictredis(host=self

.host,port=

self

.port)  

r.mset(self

.write_pool)  

except

exception, exception:  

print

exception  

defadd_data():  

beg = datetime.datetime.now()  

db = database()  

fori 

inrange(1,

10000

):  

db.add_write('meituan'

,'beijing'

,2013

,i,1

,i)  

db.batch_write()  

end = datetime.datetime.now()  

print

end-beg  

if__name__ == 

'__main__'

:  add_data()  

TwistedFate 資料庫初級使用

使用步驟 1.引入libsqlite3.0框架 2.在資料庫操作類裡 引入 單例的初始化方法 sqlitemanager sharemanager 插入資料 void inserttablewithstudent student stu 刪除資料 void deletewithage nsinteg...

redis 多資料庫

一台伺服器上都快開啟200個redis例項了,看著就崩潰了。這麼做無非就是想讓不同型別的資料屬於不同的應用程式而彼此分開。那麼,redis有沒有什麼方法使不同的應用程式資料彼此分開同時又儲存在相同的例項上呢?就相當於mysql資料庫,不同的應用程式資料儲存在不同的資料庫下。redis下,資料庫是由乙...

redis資料庫簡介

nosql介紹 nosql 是說一大類新出現的資料庫,它的特點 1 不支援sql 語法2 儲存結構跟傳統關係型資料庫中的那種關係表完全不同,nosql 中儲存的資料都是 kv形式 3 nosql的世界中沒有一種通用的語言,每種 nosql 資料庫都有自己的 api和語法,以及擅長的業務場景 4 no...