标题创建redis容器
一、redis官网中文
http://redis.cn/commands.html#generic
二、拉取redis镜像
docker pull redis
三、创建redis容器
docker run -dit -p 63790:6379 --name myredis redis:latest
四、登陆redis容器
docker exec -it myredis /bin/bash
五、查看现有的redis密码
config get requirepass
六、设置redis密码
config set requirepass 123456
redis键值对操作
1、进入redis命令行
redis-cli
2、设置值,key存在就更新
set key1 val1
3、检查key是否存在
exists key1
4、获取值
get key1
5、修改key的名称
rename old_name new_name
6、删除值(删除key1 key2)
del key1 key2
7、设置key有效时间(单位秒)
expire key11 10
8、获取key剩余过期时间(单位秒)
ttl key
9、移除key过期时间,key永久有效
persist key12
10、退出redis命令行
exit
redis列表操作
1、从列表左侧插入一个或者多个元素(创建列表)
lpush key val1 val2 val3
2、通过索引获取值
lindex mylist 0
3、获取列表长度
llen mylist
4、通过索引修改列表的值
lset key index value
5、某个元素之前插入新的元素(test2之前插入test11)
linsert mylist before test2 test11
6、某个元素之后插入新的元素(test2之后插入test11)
linsert mylist after test2 test11
7、列表存在从左边插入一个元素
8、遍历list
lrange mylist start_index end_index
9、从左边开始删除指定个数的元素,默认删除1个,给2就删除2个
lpop mylist 2
10、从右边开始删除指定个数的元素,默认删除1个,给2就删除2个
rpop mylist 2
11、删除指定的元素(指定个数)
lrem mylist 1 test7
python操作redis
方式一:直接连接redis
前置条件:
1、宿主机安装redis-cli
2、docker容器设置密码
查看现有的redis密码:config get requirepass
设置redis密码:config set requirepass 123456
3、代码实现
def connect_docker_redis():
redis_db = redis.StrictRedis(host='192.168.1.170',password="123456", port=63790,decode_responses=True)
redis_db.set(name="key1",value="8889999")
result = redis_db.get(name="key1")
print(result)
connect_docker_redis()
方式二:执行宿主机linux命令操作redis
1、前置条件: 安装paramiko库
2、代码实现
import paramiko
def get_message_code(command):
ret_list=[]
ssh_client=paramiko.SSHClient()
#自动添加策略,保存服务器的主机名和密钥信息,如果不添加,那么不再本地know_hosts文件中记录的主机将无法连接
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname='192.168.1.170', port=22, username='root', password='123456')
# stdout 为正确输出,stderr为错误输出,同时是有1个变量有值
stdin1, stdout1, stderr1 = ssh_client.exec_command(command=command)
for line in stdout1:
ret_list.append(line.strip("\n"))
print(ret_list)
return ret_list
command = "redis-cli -h '127.0.0.1' -a '123456' -p '63790' get 'key1'"
get_message_code(command)
3、command命令参数详解:
说明:
redis-cli:宿主机的redis客户端
-h '127.0.0.1':在宿主机上执行命令
-a '123456':redis密码
-p '63790':redis容器端口
get 'key1':执行的命令