Redis数据库

相关链接:

链接Redis

开启Redis服务

安装Redis后,执行exe程序即可开启端口

cd D:\Program Files\Redis
redis-server.exe

关闭Redis服务

redis-server --service-stop

使用Python链接

  • 密码:password

  • 数据库编号(0-15):db

import redis
pool = redis.ConnectionPool(host='localhost', port=6379, db=1, password=None, decode_responses=True)
r = redis.Redis(connection_pool=pool)

Hash命令

此系列命令用于处理Hash表,详情可参照Python操作redis系列以 哈希(Hash)命令详解(四)

哈希表的组织形式为name -> {key1:value1, key2:value1...},如下图所示,

若value为dict,则实现了DataFrame形式的存储

其中name对应为整个DataFrame,key对应为每行数据的主键,value对应以dict格式存储的单行数据

Hset

哈希表中的字段赋值

如果name不存在,将自动生成哈希表

如果key已存在,则进行写入,并返回

如果key已存在,则进行更新,并返回0

r.hset(name="name",key="key1",value="value")

Hdel

删除哈希表中的字段

成功删除则返回1

若key不存在则删除失败,返回0

删除所有的键后,name对应的数据将消失

r.hdel(name="name",key="key1")
r.hdel(name='name',key=*['key1','key2'])  # 删除多个

Hexists

查看哈希表的指定字段是否存在

如果存在返回True,否则返回False

如果name不存在,也会返回False,故需要使用exists检测name是否存在

r.hexists('name1','key2')
r.exists('name1')  # 如存在返回1, 否则返回0

Hget

返回哈希表中指定字段的值

如果给定的字段或 key 不存在时,返回 None

如果name不存在,也会返回None

r.hget('name3','key2')

Hgetall

返回哈希表中,所有的字段和值

如果name不存在,则返回{},其type为dict

r.hgetall('name')

写入数据

写入单个键值对

r.set('webname','www.biancheng.net')

写入多个键值对

r.mset({'username':'jacak','password':'123'})

删除

删除带指定字符的key及value

# 删除带特殊符号的标题
for i in pd.DataFrame(data={'data':r.keys('*')})[pd.DataFrame(data={'data':r.keys('*')}).data.str.contains(':')].data.to_list():
    r.delete(i)

修改Key

r.rename('name_2', 'name_100')

在服务器部署Redis

需要注意的是,需要在ESC安全组中开启Redis服务的端口6379

最后更新于