HOST = 'localhost' PORT = 6379 connection_pool = redis . ConnectionPool ( host = HOST , port = PORT , decode_responses = True ) # 连接池 def redis_save ( key : str , numpy_ndarray : numpy . ndarray ) - > None : """将Numpy数组存入Redis数据库。 Parameters ---------- key : str 键字符串。 numpy_ndarray : numpy.ndarray 待存储数组。 shape = numpy_ndarray . shape dim = len ( shape ) value = struct . pack ( '' . join ( [ '>I' ] + [ 'I' * dim ] ) , * ( ( dim , ) + shape ) ) value = base64 . a85encode ( value + numpy_ndarray . tobytes ( ) ) # 得转换成字符串,不然取出时候会报一个错 conn = redis . Redis ( connection_pool = connection_pool ) conn . set ( key , value ) conn . close ( ) def redis_read ( key : str , dtype ) - > numpy . ndarray : """从Redis中读取一个Numpy数组。 Parameters ---------- key : str 键字符串。 dtype : Any 指定数组元素数据类型。 Returns ------- numpy.ndarray 从Redis键值对取出的数组。 SIZE = 4 conn = redis . Redis ( connection_pool = connection_pool ) bytes = base64 . a85decode ( conn . get ( key ) ) conn . close ( ) dim = struct . unpack ( '>I' , bytes [ : 1 * SIZE ] ) [ 0 ] shape = struct . unpack ( '>%s' % ( 'I' * dim ) , bytes [ 1 * SIZE : ( dim + 1 ) * SIZE ] ) ret = numpy . frombuffer ( bytes , offset = ( dim + 1 ) * SIZE , dtype = dtype ) . reshape ( shape ) return ret

经检验的,存入后可以正常取出,放心食用。

import (base64, struct, numpy, redis)HOST = 'localhost'PORT = 6379connection_pool = redis.ConnectionPool(host=HOST, port=PORT, decode_responses=True) # 连接池def redis_save(key: str, numpy_ndarray: numpy.ndarray) -> None: """将Numpy数组存入Redis数据库。 redis 中的List在在内存中按照一个name对应一个List来存储 lpush(name,values) #在name对应的list中添加元素,每个新的元素都添加到列表的最左边 r.lpush("list_name",2) r.lpush("list_name",3,4,5)# 保存 在列表中的顺序为5,4,3,2 rpush(... Array1 = [[1, 2, 3], [4, 5, 6]] Array2 = [[11, 25, 346], [734, 48, 49]] Mat1 = np.array(Array1) Mat2 = np.array(Array2) correlation = np.corrcoef(Mat1, Mat2) print("矩阵... Redis 是一个开源的基于内存也可持久化的Key-Value数据库,采用ANSI C语言编写。它拥有丰富的数据结构,拥有事务功能,保证命令的原子性。由于是内存数据库,读写非常高速,可达10w/s的评率,所以一般应用于数据变化快、实时通讯、缓存等。但内存数据库通常要考虑机器的内存大小。 Redis 有16个逻辑数据库(db0-db15),每个逻辑数据库项目是隔离的,默认使用db0数据库。若选择第2个数据库,通过命令 select 2 , python 中连接时可以指定数据库。 常用数据结构
关于 redis 的安装与配置我之前有文章详细的介绍过,参考:https://blog.csdn.net/qq_41604569/article/details/123644888 今天我们主要聊下 redis python 的结合,两大部分内容: redis 使用 redis + python 使用 在 redis + python 中,也会分为两部分来解读: redis + python 本身的交互 redis + django的交互 redis 使用 环境:Windows 本地调试; 默认端口:6379; 类似于 python 中的list 数据结构中的链表结构 python redis 提供的方法与命令行基本一致, 具体的函数及含义可以参考给定的命令行来使用, 对应的函数名称与命令名称基本一致 首先了解官方的命令, 具体如下: 1 BLPOP key1 [key2 ] timeo...
public class randomtest { public static void main(String[] args){ splitRedPacket(9, 5, 1, 3); * @param sum * 数组 之和 # pip install --proxy=http://172.1.2.6:8080 redis Downloading redis -2.9.1.tar.gz (62kB): 62kB downloaded   Running se arr = np.random.randint(0, 255, size=(100, 100, 3), dtype=np.uint8) # 将 numpy 数组 转换为PIL Image对象 img = Image.fromarray(arr) # 保存 图片 img.save('test.png') 这样就可以将 numpy 数组 保存 为名为test.png的图片。 [已解决] EnvironmentLocationNotFound: Not a conda environment: C:\Program Files\Anaconda3 MAfrawmx: 同问同问! 三步让VS Code播放视频 小王ovo: 请问视频没声音怎么办 Material-UI里的Date Picker 日期选择器为啥不能用 nianzhilian: 这个的日期时间插件 是个表钟形式的,感觉太不好用了,不知道怎么转换成像阿里的那种