在shell中,读取redis值方式

本文介绍了如何在Shell脚本中读取Redis的值。通过使用`redis-cli`命令,配合不同参数,例如 `-h` (主机地址), `-p` (端口), `-a` (密码) 和 `-n` (数据库索引),可以实现连接和操作Redis。文中列举了多个Redis命令,如`keys`, `get`, `del`, `expire`等,详细展示了如何在命令行中执行这些操作。此外,还讲解了Redis客户端的使用和Redis服务的启动方法。" 126780540,9894227,CSV温度矩阵转Python热图,"['Python编程', '数据可视化', 'numpy库', '文件读写', '图像处理']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里介绍,代码如下:

#!/usr/bin/env bash

redis-cli -h 127.0.0.1 -p 6379 -a 123456 -n 1 keys  '*' |
while read key
do
    key_val=`redis-cli -h 127.0.0.1 -p 6379 -a 123456 -n 1 get ${key}`
    echo ${key}  ${key_val}
done
其中:

-h 代表redis安装地址

-p 代表redis端口

-a 代表redis访问密码

-n 代表redis数据库的db index
 

Redis 命令用于在 redis 服务上执行操作。所以我们必须要启动Redis服务程序,也就是redis安装目录下的redis-server.exe,你可以双击执行,也可以打开cmd窗口,将路径定位到Redis安装目录下,通过redis-server命令执行。

要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前下载的的 redis 的安装包中,也就是redis-cli.exe,同理,可以双击执行也可以通过命令执行。

语法

Redis 客户端的基本语法为:

$ redis-cli

要先启动redis服务端:
 C:\windows\system32\cmd.exe -redis-server.exe redis.conf

keys *                    //获取所有key列表
del key                    //删除key
expire key xx                   //设置key的过期时间(xx秒后过期)
ttl key                  //查看key的过期时间
 

select 0-15             //选择库
flushall                   //清空整个redis服务器数据,所有的数据库全部清空
flushdb                  //清除当前库,redis中默认有16个数据库,名称分别为0,1,2...15
 

 redis怎么实现栈和队列?          -->           都用list,控制一边进同一边出就是栈,一边进另一边出就是队列.

hash类型类似于php的数组

hset key name value      //添加一个name=>value键值对到key这个hash类型
hget key name       //获取hash类型的name键对应的值
hmset key name1 key1 name2 key2       //批量添加name=>value键值对到key这个hash类型
hmget key name1 name2      //批量获取hash类型的键对应的值
hkeys       //返回哈希表 key 中的所有键
hvals      //返回哈希表 key 中的所有值
hgetall       //返回哈希表 key 中,所有的键和值
 

通过配置文件设置密码-长久设置

在配置文件 redis.conf 中增加一行代码
requirepass 123456
将密码123456设置到配置文件中,redis启动时加载该文件,即可启用密码

 安装

   make

   make    test        -- 如果报错,则安装tcl

   make    PERFIX=/usr/local/redis    install

   cp    /usr/src/redis-3.0.3/redis.conf    /usr/local/redis

   ./bin/redis-server    ./redis.conf        -- 开启redis服务

   vim    redis.conf

   daemonize    yes        --放在后台选项

   ./bin/redis-cli    -h    localhost    -p    6379

   bin/下的文件

   redis-check-aof    redis-check-dump        -- 日志文件

   redis-benchmark        -- 检测工具

   ./redis-benchmark    -n    100000    -c    60

   string字符串类型

   keys    *        --查看所有键值

   set    age    19        --设置键值的数据

   get    age            --查看键值的数据

   keys    age        --查看键值本身

   setnx    name1    zhangsan        --防覆盖新建键值

   setex    name2    30    Janni        --新建或修改临时键值,有效时间30s

   ttl    name2        --查看键值的有效期

   mset    a1    111    a2    222    a3    333        --设置多个键值

   mget    a1    a2    a3        --查看多个键值

   msetnx    a3    444    a4    555        --创建多个防覆盖机制键值

   setrange    a3    2    lisi        --替换,从第二个字符开始

   getset    a3    "xxx"        --查看原值并修改

   getrange    a3    0  5        --查看a3键值的0-5之间的字符

   incr    c1        --键值依次增加1

   incrby    c1    100        --键值依次增加100,值可自定义

   decr    c1        --键值依次减少1

   decrby    c1    100        --键值依次减少100,值可自定义

   strlen    b1        --查看键值的长度

   append    b1    lisi        --追加键值的数据

   del    b1        --删除键值

   hash类型

   hset    hash1    name1    hanhan        --创建第一组数据

                  键        字段           键值

   hget    hash1    name1        --查第一组的第一个字段

   hsetnx    hash1    name1    Janni        --防覆盖创建

   hmset    hash1    name1    name2        --创建多个字段

   hmget    hash1    name1    name2        --查看多个字段

   hlen    hash1            --查字段个数

   hgetall    hash1        --查指定键中的字段和值

   hkeys    hash1        --查指定键中的字段名称

   hvals    hash1        --查指定键中的数值

   hdel    hash1    name3        --删除指定键中的字段

   hincrby    hash1    id1    5        --hash1键中的id1字段每次增加5

   list双向列表

   1    2    3    4    5                   正数下标

 -5    -4    -3    -2    -1              负数下标

lpush    list1    1    2    3    4        --创建队列向左

rpush    list1    one    two    three        --创建队列向右

lrange    list1    0    -1            --查list1中所有的队列

linsert    list1    before    two    hi        --在list1列表中的two前面插入hi队列    (before | after)

lset    list1    1    “six”        --修改队列中元素的值

lrem    list1    -2    hi        --删除元素中重复的值,其中-2代表几个 ,并且是倒序的

ltrim    list1    0    3        --保留list1上以下标为主的0-3的队列

lpop    list2         --删左边第一个

rpop    list2        --删右边第一个

rpoplpush    list1    list2        --把list1的最后一个元素放到list2中

llen    list2    查有多少个队列

lindex    list2    1        --通过下标查看元素值

   set集合

   交集        差集        并集

sadd    set1    aa    bb    cc        --添加set集合

smembers    set1        --查看集合中所有的元素

srandmember    set1        --随机查看

spop    set1        --随机删除

srem    set1        --指定删除

scard    set1        --查看该集合有多少个元素

sismember    set1    bb        --查看bb是否属于set1集合的元素

sdiff    set1    set2        --查看set1和set2的差集

sdiffstore    set3    set1    set2        --查看set1和set2的差集,并写入到set3

sinter    set1    set2        --查看set1和set2的交集

sinterstore    set3    set1    set2        --查看set1和set2的交集,并写入到set3

sunion    set1    set2        --查看set1和set2的并集

sunionstore    set3    set1    set2        --查看set1和set2的交集,并写入到set3

   zset有序集合    sorted    set

zadd    zset1    11    aa    22    bb    33    cc        --创建有序集合

zrange    zset1    0  -1    withscores       --查看有序集合,withscores参数是查看有序集合的分数    从小到大的顺序

zrevrange    zset1    0  -1    withscores        --查看有序集合,从大到小的顺序

zrangebyscore    zset1    10    20        --查有序集合zset1中分数10-20之间的元素

zrem    zset1    aa        --删除有序集合中指定的值

zincrby    zset1    5    aa        --有序集合zset1中aa的值依次增加5,如不存在,则创建

zrank    zset1    aa        --通过元素名获取下标,从小到大的顺序

zrevrange    zset1    aa        --通过元素名称获取下标,从大到小的顺序

zcard    zset1        --查看zset1中有几个元素

zcount    zset1    10  20    --查看zset1中10-20之间的有多少个元素

zremrangeburank    zset1    1  2        --根据下标删除数据

zremrangebyscore    zset1    10    22        --根据分数删除数据

zinterstore    zset3    2    zset1    zset2        --取2个有序集合的交集,并保存到zset3

zunionstore    zset3    zset3    2    zset1    zset2        --取2个有序集合的并集,并保存到zert3

   全局命令

dbsize        --统计所有键值的数量

exists    aa        --查看某个键值是否存在

expire        设置生效时间

rename    d1    d2    --改键值的名称,d1改为d2

type    a1        --查a1键值的类型

info        --查数据库版本信息

select    2        --选择其它数据库    范围(0-15)

more    d2    1        --移动键值到某数据库

flushdb        --清空当前数据库

flushdball        清空所有数据库

   redis应用

启用密码:

   vim    /usr/local/redis/redis.conf

   requirepass    123456

关闭服务:

   pkill    redis

使用密码登陆:

   /usr/local/redis/bin/redis-server    /usr/local/redis/redis.conf        开启服务

   /usr/local/redis/bin/redis-cli    -h   localhost   -p   6379        登陆redis

数据库备份和还原

   备份:

   save    保存到dump.rdb文件

   cp -p  /usr/local/redis/dump.rdb  /root            把备份文件拷贝到/root下

   还原:

   cp -p /root/dump.rdb  /usr/local/redis

   设置备份文件的路径:

   vim    redis.conf

   dir    /usr/local/redis

设置主从

   cp    -r    redis    redis-slave

   修改主配置文件的参数,不要和主服务器的相同

   vim    redis-slave/redis.conf

   pidfile    /usr/local/redis-slave/redis.pid

   port    6380

   dir    /usr/local/redis-slave        --指定备份的目录

   slaveof    127.0.0.1    6379        --主服务器的IP地址和端口

   masterath    123456            --有密码则开启

原理:

(1)Slave服务器连接到Master服务器.

(2)Slave服务器发送SYCN命令.

(3)Master服务器备份数据库到.rdb文件.

(4)Master服务器把.rdb文件传输给Slave服务器.

(5)Slave服务器把.rdb文件数据导入到数据库中.

   开启从服务器的redis进程:

   /usr/local/redis-slave/bin/redis-server    /usr/local/redis/redis.conf

   登陆redis:

   /usr/local/redis-slave/bin/redis-cli    -h    localhost   -p    6380    -a    123456



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值