浅析python redis的连接及相关操作

yipeiwu_com7年前Python基础

redis简介

Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。是一个非关系型数据库,经常会用作缓存,消息中间件的操作

redis优势

  • 速度快,因为数据存在内存中
  • 支持丰富数据类型,支持字符串,哈希表,列表,集合,有序集合
  • 支持事务,操作都是原子性
  • 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除

1、redis连接、及存取值

import redis
r = redis.Redis(host='192.168.2.22',port=6379,db=2,password= 'redis')
r.set('name','Delia')    # 在redis里面放置对应的key,value
v = r.get('name')      # 获取key值对应的value值
print(v)

redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。

默认,每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数Redis,这样就可以实现多个Redis实例共享一个连接池。

import redis
pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis')
r = redis.Redis(connection_pool=pool)
r.set('name','Delia')    # 在redis里面放置对应的key,value
v = r.get('name')      # 获取key值对应的value值
print(v)

输出结果里面的b代表的是二进制

 2、批量存取值

import redis
pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis')
r = redis.Redis(connection_pool=pool)
r.mset({'name':'Delia','age':'18'})   # mset(mapping=''),批量设置值 {k1 = '' ,k2 = ''}
v = r.mget({'name','age'}) # 批量获取值
print(v)

输出结果:

[b'Delia', b'18']

3、存取value的某个范围

import redis
pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis')
r = redis.Redis(connection_pool=pool)
r.set('name','Delia1234')
r.setrange('name',4,'00')   #setrange(name,offset,value)修改字符串内容,从指定位置开始替换
v = r.getrange('name',4,5) #getrange(key,start,end)获取子序列
print(v)

输出结果:

b'00'

4、在value中追加内容

import redis
pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis')
r = redis.Redis(connection_pool=pool)
r.set('name','Delia1234')
r.append('name','aaa')   #append(key,value)在redis name对应的值后面追加内容
v = r.get('name') 
print(v)

输出结果:

b'Delia1234aaa'

总结

以上所述是小编给大家介绍的python redis的连接及相关操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

Python中条件判断语句的简单使用方法

最简单的条件语句: if expression: expr_true_suite 如上,if是关键字,expression是条件表达式,条件表达式支持多重条件判断,可以用...

基于Python socket的端口扫描程序实例代码

本文研究的主要是Python的端口扫描程序,具体实例代码如下。 先来看看第一个端口扫描程序代码,获取本机的IP和端口号: import socket def get_my_ip...

浅谈pytorch卷积核大小的设置对全连接神经元的影响

浅谈pytorch卷积核大小的设置对全连接神经元的影响

3*3卷积核与2*5卷积核对神经元大小的设置 #这里kerner_size = 2*5 class CONV_NET(torch.nn.Module): #CONV_NET类继承nn...

举例讲解Python设计模式编程中对抽象工厂模式的运用

举例讲解Python设计模式编程中对抽象工厂模式的运用

抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 优点:易于交换“产品系列”,只要更改相应的工厂即可。 缺点:建立产品的时候很繁琐,需要增加和修改很多东...

Python中shutil模块的常用文件操作函数用法示例

os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作。比如说:绝对路径,父目录……  但是,os文件的操作还应该包含移动 复制 ...