Redis应用汇总

Redis 是基于内存也可持久化的Key-Value的开源数据库,采用ANSI C语言编写。有丰富的数据结构,拥有事务功能,保证命令的原子性。因为是内存数据库,读写非常高速,可达10w/s的评率,一般应用于数据变化快、实时通讯、缓存等。但内存数据库通常要考虑机器的内存大小。

Redis有16个逻辑数据库(db0-db15),每个逻辑数据库项目是隔离的,默认使用db0数据库。若选择第2个数据库,通过命令 select 2 ,python中连接时可以指定数据库。

常用数据结构:

  • String-字符串
  • List-列表
  • Hash-哈希
  • Set-集合
  • ZSet-有序集合
  • Bitmap-位图

Python 操作需要先安装redis 包:pip install redis

import redis
 # 普通连接
redis_conn = redis.Redis(host='127.0.0.1', port= 6379, password= '', db= 0)


 # 连接池连接
redis_pool = redis.ConnectionPool(host='127.0.0.1', port= 6379, password= '', db= 0)
redis_conn = redis.Redis(connection_pool= redis_pool)

redis中字符返回值类型都是字节(bytes)类型

String set 设置单个键值

在redis中,一个键对应一个值

set(name, value, ex=None, px=None, nx=False, xx=False)

ex:过期时间(秒),时间到了后redis会自动删除
px:过期时间(毫秒),时间到了后redis会自动删除。ex、px二选一即可
nx:如果设置为True,则只有name不存在时,当前set操作才执行
xx:如果设置为True,则只有name存在时,当前set操作才执行

redis_conn.set('name_2', 'Zarten_2')

redis_conn.get('name_1')  # 获取值

name_dict = {
    'name_4' : 'Zarten_4',
    'name_5' : 'Zarten_5'
}
redis_conn.mset(name_dict)  # 设置多个键值

# 获取多个值

m = redis_conn.mget('name_1', 'name_2')

m = redis_conn.mget(['name_1', 'name_2'])

getset():键不存在时,会设置其新值,但返回值为None

v = redis_conn.getset('name_1', 'hi')  # 此时 v 为None,如果name_1之前不存在;

存储hash值

hset 哈希中添加一个键值对

hset(name, key, value)

key存在,则修改,否则添加

返回值:返回添加成功的个数 int

v = redis_conn.hset('name', 'age', 10)

v = redis_conn.hget('Zarten', 'age')  # 获取指定 key 的值

v = redis_conn.hmset('Zarten', {'sex':1, 'tel':'123'})  # 设置多个键值对,返回 True/False

# 获取多个键值对

v = redis_conn.hmget('Zarten', ['sex', 'tel'])

v = redis_conn.hmget('Zarten', 'sex', 'tel')

v = redis_conn.hgetall('Zarten')  # 获取所有键值对

参考:

Python操作Redis详解_csdnhxs的博客-CSDN博客_python redis

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值