Python操作复述和mongoDB的方法

  

  

复述是一个键值存储系统,值的类型包括字符串(字符串),列表(链表),设置集(合),zset(有序集合),散列(哈希类型)。为了保证效率,数据都是缓冲在内存中,在处理大规模数据读写的场景下运用比较多。

  

备注:默认复述,有16个数据库,即db0 ~ db15,一般存取数据如果不指定库的话,默认都是存在db0中。

  

渣油提供2种连接方式:直接连接,连接池连接

  

<强> 1,直接连接示例:

        进口复述,复述,# pip3安装   #创建复述,连接对象   def init_redis ():   redis_config={   “主机”:“172.29.0.17”,   “端口”:6379   }   全球Redis_Conn   Redis_Conn=redis.Redis (* * redis_config)   # Redis_Conn=redis.Redis(主机=172.29.0.17,端口=6379,德国联邦铁路(db)=1) #指定数据库      #插入值,值为str类型为例   def insert_redis_key_value(关键字,值):   Redis_Conn.set(“名称”、“朱”)   #获取的值,值为str类型为例   def get_redis_key_value(重要):   全球Redis_Conn   打印(复述,键值:% s % Redis_Conn.get(关键))      

连接池的原理是,通过预先创建多个连接,当进行复述,操作时,直接获取已经创建的连接进行操作,而且操作完成后,不会释放,用于后续的其他复述,操作,这样就达到了避免频繁的复述,连接创建和释放的目的,从而提高性能。

  

复述,模块采用ConnectionPool来管理对复述,服务器的所有连接。

  

2,连接池连接示例:

        进口复述,   池=redis.ConnectionPool(主机=172.29.0.17,端口=6379,德国联邦铁路(db)=1)   红色=redis.Redis (connection_pool=池)   红色的。集(“key1”、“value1”)   红色的。集(‘key2’,‘value2)      

  

1, mongoDB是一个非关系型数据库(NoSQL),介于关系数据库和非关系数据库之间的产品。拥有很多优秀特性,例如高性能,高可用,支持丰富的查询语句,无需预定义数据模型和水平可伸缩等。

  

2, mongoDB是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。

  

3, mongoDB最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

  

4, mongoDB的适用场景为:数据不是特别重要(例如通知,推送),数据表结构变化较为频繁,数据量特别大,数据的并发性特别高,数据结构比较特别(例如地图的位置坐标),

  

这些情况下用mongoDB,其他情况就还是用MySQL,这样组合使用就可以达到最大的效率。

        进口pymongo # pip3 pymongo安装   #创建mongo连接对象   def init_mongo ():   全球Mongo_Conn   Mongo_Conn=pymongo.MongoClient(主机=?72.29.0.14”,端口=27017)   管理=Mongo_Conn.admin   管理。验证(‘根’,”)   #数据操作   def get_mongo_key_value (token_id):   db=Mongo_Conn [' device_center '] #创建数据库“device_center”,命名为“数据库”   坳=db [' token_info '] #创建集合“token_info”,命名为“上校”   mydict={“名称”:“Zhuyu”,“alexa”:“160”,“性”:“男性”}   col.insert_one (mydict) #插入一条数据   mylist=[   {" name ":“操作”,“alexa”:“168”,“性”:“男性”},   {" name ":“梁”,“alexa”:“165”,“性”:“女性”},   {" name ":“李白”,“alexa”:“156”,“性”:“女性”}   ]   col.insert_one (mylist) #插入一组数据   query1=col.find_one() #查询一条数据   query2=col.find ({}, {“alexa”: 1}) #查询指定字段的数据   query3=col.find() #查询集合中的所有数据   query4=col.find({“名称”:“操作”})#根据指定条件查询   myquery1={" alexa ": " 160 "}   newvalues1={" $设置":{" alexa ": " 161 "}}   col.update_one (myquery1 newvalues1) #修改匹配到的第一条记录   myquery2={"名称":{" $ regex ": " ^ L "}}   newvalues2={" $设置":{" alexa ": " 123 "}}   col.update_many (myquery2 newvalues2) #修改所有匹配到的记录,将查找所有以L开头的名字字段,并将匹配到所有记录的alexa字段修改为123   query5=col.find () .sort (alexa) # sort()方法第一个参数为要排序的字段,第二个字段指定排序规则,1为升序,1为降序,默认为升序   在query5 x:   打印(x)   #结果   {" name ":“李白”,“alexa”:“156”,“性”:“女性”}   {" name ": " Zhuyu”、“alexa”:“160”,“性”:“男性”}   {" name ":“梁”,“alexa”:“165”,“性”:“女性”}   {" name ":“操作”,“alexa”:“168”,“性”:“男性”}   query6=col.find () .sort (“alexa”, 1) #降序   在query6 x:   打印(x)   #结果   {" name ":“操作”,“alexa”:“168”,“性”:“男性”}   {" name ":“梁”,“alexa”:“165”,“性”:“女性”}   {" name ": " Zhuyu”、“alexa”:“160”,“性”:“男性”}   {" name ":“李白”,“alexa”:“156”,“性”:“女性”}   myquery3={“名称”:“李白”}#删除一条数据   mycol.delete_one (myquery3)   myquery4={"名称":{" $ regex ": " ^ L "}} #删除多个数据   x1=mycol.delete_many (myquery4)   打印(x1.deleted_count,“个文档已删除”)# 2个文档已删除   x2=mycol.delete_many({}) #删除集合中的所有数据   打印(x2.deleted_count,“个文档已删除”)# 4个文档已删除   #断开mongo连接   def disconnect_mongo ():   Mongo_Conn.disconnect ()

Python操作复述和mongoDB的方法