测试开发干货之redis操作,超哥带你继续搞事(二)[通俗易懂]

测试开发干货之redis操作,超哥带你继续搞事(二)[通俗易懂]目录一、 简介redis二、 安装redis1. Window安装2. Linux 源码安装3. Ubuntu apt 命令安装三、 配置red

大家好,欢迎来到IT知识分享网。

目录

一、 简介redis

二、 安装redis

1. Window安装

2. Linux 源码安装

3. Ubuntu apt 命令安装

三、 配置redis

1. 开启远程访问

四、 启动redis

1. 直接启动

2. 通过指定配置文件启动

五、 redis支持的数据类型

六、 操作redis

1. 连接redis

a) 通过redis.Redis连接

b) 通过redis连接池连接

2. redis基本命令 String

3. redis基本命令 hash

4. redis基本命令 list

5. redis基本命令 set

6. redis基本命令有序set

7. 其他常用操作

测试开发干货之redis操作,超哥带你继续搞事(二)[通俗易懂]

阅读之前先点击关注,测试开发干货持续更新,否则你只能看这一篇咯

上次给大家讲到安装redis,和启动,今天我们继续讲后面的精彩内容,少废话,开搞。

三、配置redis

1. 开启远程访问

注意:redis默认只允许本地访问,要使redis可以远程访问可以修改redis.conf

打开redis.conf文件在NETWORK部分有说明,找到

bind127.0.0.1

该行加上注释#,改成:

#bind127.0.0.1

即可以使所有的ip访问redis,若是想指定多个ip访问,但并不是全部的ip访问,可以采用bind ip的方法,如果你的redis版本是3.2以后(查看redis版本:redis-server –version redis-server -v),则还需要修改一个配置,redis增加了protected-mode,在这个模式下,即使注释掉了bind 127.0.0.1,在访问redisd时候还是报错

增加以下配置:protected-mode no

以上操作结束后,redis就可以远程访问了

二、 启动redis

1. 直接启动

进入redis安装目录输入以下命令

# 加上‘&’使redis以后台程序方式运行

IT知识分享网

IT知识分享网./redis-server &

查看 redis 是否启动?

# redis-cli

以上命令将打开以下终端:

IT知识分享网redis 127.0.0.1:6379>

127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。

redis 127.0.0.1:6379> ping
PONG

以上说明我们已经成功安装了redis。

2. 通过指定配置文件启动

可以为redis服务启动指定配置文件,例如配置为/etc/redis/6379.conf,进入redis根目录,输入命令:

./redis-server /etc/redis/6379.conf

#如果更改了端口,使用`redis-cli`客户端连接时,也需要指定端口,例如:

redis-cli -p 6380

四、 redis支持的数据类型

redis支持5种数据类型,分别有:

string(字符串),

hash(哈希),

list(列表),

set(集合)

zset(sortedset:有序集合)

注意:不同的数据类型使用的命令不同,接下来咱们就挨个看下每一种数据类型的常用操作命令。

五、 操作redis

1. 连接redis

a) 通过redis.Redis连接

redis提供两个类Redis和StrictRedis,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py。前提:先具备redis数据库服务器地址,再用命令安装好redis操作包,命令:

pip install redis

实例:

#1-导入数据库操作包#!
import redis
#2-创建数据库连接对象
#host-redis服务器地址,port-默认端口,db默认第一个数据库0,连接redis,
#加上decode_responses=True,写入的键值对中的value为str类型,不加这个参数写入的则为字节类型。
r =redis.Redis(host='192.168.0.110', port=6379,db=0, decode_responses=True)
#3-操作数据库语句
#添加key:name,value:zhangsanr.set('name', 'zhangsan')#获取key:name的值
print (r.get('name'))
#4-因为redis连接对象是再连接池内的,所以不需要我们手动关闭

b) 通过redis连接池连接

redis.py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认,每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数Redis,这样就可以实现多个Redis实例共享一个连接池

#!/usr/bin/envpython# -*- coding:utf-8 -*-
importredispool = redis.ConnectionPool(host='192.168.0.110', port=6379)
r =redis.Redis(connection_pool=pool)
#单个字符串操作
r.set('name', 'zhangsan')   #添加
print(r.get('name'))   #获取
#多个字符串操作##### 多个string
student= {    'name': 'zeng',    'age': '22'}
result1= client.mset(student)
print(result1)  
#Truestu = client.mget(['name', 'age'])
print(stu)  
# 输出:[b'zeng', b'22']##### 删除操作
d =client.delete('name', 'age')
print(d) 
# 2
result= client.get('name')
print(result)  # None

以上两种方法都可以连接使用redis,两种方法各有千秋,大家可以根据自己的实际情况选择。

2. redis基本命令 String

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

在Redis中设置值,默认,不存在则创建,存在则修改
参数:
ex,过期时间(秒)
px,过期时间(毫秒)
nx,如果设置为True,则只有name不存在时,当前set操作才执行
xx,如果设置为True,则只有name存在时,当前set操作才执行

1. ex,过期时间(秒) 这里过期时间是3秒,3秒后p,键food的值就变成None

2.px,过期时间(豪秒) 这里过期时间是3毫秒,3毫秒后,键foo的值就变成None

3.nx,如果设置为True,则只有name不存在时,当前set操作才执行 (新建)

import redis

pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)
r = redis.Redis(connection_pool=pool)
print(r.set('fruit','watermelon', nx=True))    # True--不存在
# 如果键fruit不存在,那么输出是True;如果键fruit已经存在,输出是None

4.xx,如果设置为True,则只有name存在时,当前set操作才执行 (修改)

print((r.set('fruit','watermelon', xx=True)))   # True--已经存在
# 如果键fruit已经存在,那么输出是True;如果键fruit不存在,输出是None

本期redis干货先分享到这里,咱们下次继续分享redis剩下的部分,记得关注不迷路,下次还能找到我!

功能测试想要转型测试开发请联系:chneghaokeji666(wx哦)

测试开发干货之redis操作,超哥带你继续搞事(二)[通俗易懂]

真实案例:

一个月薪8K的北漂小姑娘,逆袭之路!

功能测试转型测试开发课程介绍

一个专科小姐姐8k薪水,学完涨薪多少?就像做梦

5.18日收到3个offer,提升前12K,你猜提升后offer多少K?

测试开发干货之redis操作,超哥带你继续搞事(二)[通俗易懂]

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/6105.html

(0)
上一篇 2022-12-18 14:50
下一篇 2022-12-18 15:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信