Redis很少有直接通过客户端去操作的,更多的是被程序的业务代码调用。这一节我们就以python3为例,演示一下对Redis的常规操作,最后简单实现下前面提到的视频网站限制用户观看视频数量的案例。
我是T型人小付,一位坚持终身学习的互联网从业者。喜欢我的博客欢迎在csdn上关注我,如果有问题欢迎在底下的评论区交流,谢谢。
环境准备
下面是我用来演示的环境:
- 可被外界访问的Redis实例
- Pycharm进行python代码编辑
- Python3进行python代码解析
- python环境和Redis实例之间网络通,Redis端口可正常访问
Redis实例可以直接按照前面的《Redis从入门到精通(1):centos7安装和启动redis》来启动;pycharm和python3环境可以按照另一篇博客《windows10安装anaconda 3和pycharm及常规使用详解》来安装和配置。
常规操作
连接Redis实例
首先需要安装两个第三方包:redis和redis-py,单单安装redis包无法连接。我安装的版本分别是:
- redis - 3.2.100
- redis-py - 3.4.1
之后就可以连接Redis实例了
import redis
r=redis.Redis(host='10.18.97.115',port=6379,db=0,password='xiaofu')
数据操作
虽说python对原来的Redis客户端命令都经过了封装,但是封装以后的命令和参数顺序和原先基本没有差别。下面对前面提到的五种类型的数据分别做简单的演示,为了清晰表示输入输出关系,下面的操作在ipython
环境中完成。
- string类型操作
赋值和取值操作:
In [11]: r.set('age',1)
Out[11]: True
In [12]: r.get('age')
Out[12]: b'1'
注意python3中所有返回的数据都是bytes类型,想要变为string类型用作后续处理,还需要经过decode操作,省略参数默认用utf-8解码。
In [13]: result=r.get('age')
In [14]: type(result)
Out[14]: bytes
In [15]: new_result=result.decode()
In [16]: type('new_result')
Out[16]: str
计数器操作:
In [18]: r.incrby('age',3)
Out[18]: 4
In [19]: r.incr('age')
Out[19]: 5
In [20]: r.decr('age',2)
Out[20]: 3
过期