linux环境下redis7.0.11安装部署

本文详细介绍了如何从Redis官网下载、解压、安装、配置Redis服务器,包括设置监听地址、守护进程、密码保护、端口、内存限制等,并演示了常用命令及Java连接Redis的方法,以及防火墙配置和设置Redis密码的过程。

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

redis安装部署

  1. redis官网:https://redis.io

    # 下载redis
    wget https://github.com/redis/redis/archive/7.0.11.tar.gz
    # 解压
    tar -zxvf 7.0.11.tar.gz
    # 复制 推荐复制到/usr/local/redis/目录下
    cp redis-7.0.11 /usr/local/redis/
    # 安装
    sudo make && make install
    # 运行
    redis-server
    # 测试
    redis-cli
    set 'a' '123'
    
  2. 修改redis.conf

    # 文件路径 /usr/local/redis/redis.conf, 建议先做备份
    cp redis.conf redis.conf.bak
    # 监听的地址,默认是127.0.0.1,会导致只能本地访问,修改为0.0.0.0则可以在任何IP访问,生产环境不要设置为0.0.0.0(也可以直接注释)
    bind 0.0.0.0
    # 守护进程,修改为yes后即可后台运行
    daemonize yes
    # 摩玛设置后访问Redis必须设置密码
    requirepass 1727
    # 监听的端口
    port 6379
    # 工作目录,默认是当前目录,也就是运行redis-server是的命令,日志、持久化等文件会保存在这个文件
    dir .
    # 数据库数量,设置为1,表示只使用1个库,默认有16个库,编号0-15
    databases 1
    # 设置redis能够使用的最大内存
    maxmemory 512mb
    # 日志文件,默认为空,不记录日志,可以指定日志文件名
    logfile "redis.log"
    
  3. 启动redis

    # 进入redis安装目录
    cd /usr/local/src/redis-7.0.11
    # 启动,配置文件选定为我们刚才修改的配置文件
    redis-server redis.conf
    
  4. 关闭redis

    redis-cli -u 1727 shutdown
    
  5. redis开机自启动配置

    # 创建系统服务文件
    vim /etc/systemd/system/redis.service
    
    # 文件内容
    [Unit]
    #Description指定当前服务的简单描述。
    Description=redis-server
    #After表示当前服务在network.target之后启动,可以指定多个服务,以空格隔开
    After=network.target
    
    [Service]
    # ExecStart将以fork()方式启动,此时父进程将会退出,子进程将成为主进程。
    Type=forking
    # ExecStart指定启动进程时执行的命令。
    # ExecReload指定当该服务被要求重新载入配置时所执行的命令。另外,还有一个特殊的环境变量 $MAINPID 可用于表示主进程的PID,例如可以这样使用:/bin/kill -HUP $MAINPID。强烈建议将 ExecReload= 设为一个能够确保重新加载配置文件的操作同步完成的命令行。
    ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-7.0.11/redis.conf
    #web服务设置私有/tmp或/var/tmp目录
    PrivateTmp=true
    
    [Install]
    # “WantedBy=multi-user.target”表示当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
    WantedBy=multi-user.target
    
  6. 重新加载系统服务

    systemctl daemon-reload
    
  7. redis系统命令

    # 启动
    systemctl start redis
    
    # 关闭
    systemctl stop redis
    
    # 重启
    systemctl restart redis
    
    # 状态
    systemctl status redis
    
    # 开机自启
    systemctl enable redis
    
    # 关闭开机自启动
    systemctl disabled redis
    
  8. redis常见命令

    # String 常见命令
    SET [key] [value] # 添加或修改一个String类型的键值对
    GET [key]
    MSET [key] [value] [key1] [value1]...
    MGET [key] [key1]...
    INCR [key] # 让一个key的值增加1
    INCRBY [key] 4 # 让一个key的值增加指定数
    INCRBYFLOAT [key] 3.14
    SETNX [key] [value] # 不存在这个key才执行,不然不执行
    SETEX [key] [seconds] [value] # 添加一个key并且设置有效期
    
    # Hash 常见命令
    HSET [key] [field] [value]
    HGET [key] [field]
    HMSET [key] [field] [value] [field] [vlaue]...
    HMGET [key] [field] [field]...
    HGETALL [key]
    HKEYS [key]
    HVALS [key]
    HINCRBY [key] [field] 4
    HSETNX [key] [field] [value]
    
    # List 常见命令
    LPUSH [key] [element] [element]...
    LPOP [key]	# 取链表左边的值并弹出
    RPUSH [key] [element] [element]...
    RPOP [key]
    LRANGE [key] start end # 取链表start到end的值,不弹出
    BLPOP && BRPOP [key] [time] # 阻塞式获取
    
    # Set 常见命令
    SADD [key] [member]...
    SREM [key] [member]...
    SCARD [key] # 获得set中元素的个数
    SISMEMBER [key] [member] # 判断一个元素是否存在于set中
    SMEMBERS # 获得set中所有的元素
    
    SINTER [key1] [key2] # 获得两个集合的交集 key1∩key2
    SDIFF [key1] [key2] # 获得两个集合的差集 key1-key2
    SUNION [key1] [key2] # 获得两个集合的并集 key1∪key2
    
    # SortedSet 常见命令
    # 这里的score是排序的依据
    
    ZADD [key] [score] [member] # 存储数据
    ZREM [key] [member]	
    ZSCORE [key] [member]	# 获得其中指定元素的score
    ZRANK [key] member	# 获取其中指定元素的排名,从0开始
    ZCARD [key]	 # 获得sorted set的元素个数
    ZCOUNT [key] min max	# 统计score在其中范围的元素的个数
    ZINCRBY [key] increment member	# 给指定元素的score增加increment
    ZRANGE [key] min max	# 获得score的排名在其中范围内的元素,从0开始
    ZRANGEBYSCORE [key] min max 	# 获得score在其中范围中的元素
    ZDIFF、ZINTER、ZUNION [key1] [key2] # 同Set
    
    # 所有的默认升序,要降序就所有的命令的Z后面加上REV(reverse)即可。ps:ZREVADD
    
    # 其他常见命令
    # KEYS:查看符合模板的所有key
    KEYS *
    # DEL:删除一个指定的key
    DEL k1
    # EXISTS:判断key是否存在
    EXISTS k1
    # EXPIRE:给一个key设置有效期(秒数),有效期到时key会被自动删除
    EXPIRE k1 20
    # TTL k1:查看一个key的有效期,-1为永久,-2为过期或者没有,正数为秒数
    TTL k1
    
  9. java连接redis

    # 修改配置文件 redis.conf
    protected-mode no
    # 查看防火墙状态
    firewall-cmd --state
    # 防火墙添加redis端口
    firewall-cmd --permanent --add-port=6379/tcp
    # 查看端口
    firewall-cmd --permanent --query-port=6379/tcp
    firewall-cmd --permanent --list-ports
    # 重启防火墙
    firewall-cmd --reload
    
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
    </dependency>
    
    @Test
        public void testRedis() {
            Jedis jedis = new Jedis("192.168.131.128", 6379);
            System.out.println(jedis.ping());
        }
    
  10. redis设置密码

    # 查看
    config get requirepass
    # 设置
    config set requirepass "new_password"
    # 如果redis重启,会丢失这个密码,为了持久生效,需要继续使用config的rewrite命令,这个命令会将当前的修改刷新到配置文件中,执行完这个命令后断开和重启都不会丢失这个密码了
    config rewrite
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值