redis开源数据库的配置及应用

一、简介
        是一个开源数据库,他提供了一个高性能的键值对存储系统,支持多种字符串,包括字符串、哈希、列表、集合和有序集合等。
二、配置文件       /etc/redis.conf
三、服务名        redis
四、端口号        6379
五、安装并设置密码
        1、打开redis配置文件             vim /etc/redis.conf
        2、寻找并取消注释掉 requirepass 这一行
        3、在 requirepass 行下面,输入您想要设置的密码
        4、保存并关闭配置文件
        5、重启 Redis 服务
        6、现在,您需要在连接到 Redis 时提供密码。通过在 redis-cli 中使用'AUTH'命令,您可以做到这一点,例如'AUTH your_password',其中'your_password'是您设置的密码
六、登录redis
        在终端中输入以下命令


            redis-cli -h -p -a


            如果服务器在本地,可以使用默认值


                redis-cli


七、redis常用操作示例及说明


        1、SET 和 GET


            > SET name "Alice" OK
            > GET name
               "Alice"

 

(SET 命令用于将指定的 Key 设定为对应的 Value 值。GET 命令用于获取指定 Key 的 Value 值。)


        2、EXISTS 和 DEL
          

           > EXISTS name
              1
           > DEL name
              1
           > EXISTS name
              0

 

(EXISTS 命令用于判断指定的 Key 是否存在。DEL 命令用于删除指定的 Key 及其对应的 Value 值。)


        3、KEYS


            > SET name1 "Alice"
              OK
            > SET name2 "Bob"
              OK
           > KEYS name*         
              1) "name2"              
              2) "name1"

 

(KEYS 命令用于查找符合指定 pattern 的所有 Key。)

       
        4、INCR 和 DECR


            > SET count 10
               OK
            > INCR count
               11
            > DECR count
               10

 

(INCR 命令用于对指定的 Key 做自增操作。DECR 命令用于对指定的 Key 做自减操作。)


        5、EXPIRE 和 TTL
            

           > SET session "x32kdjf34"    
               OK
           > EXPIRE session 60
              1
           > TTL session
              57

 

(EXPIRE 命令用于设置指定 Key 的过期时间,TTL 命令用于获取指定 Key 的剩余过期时间。)


        6、HASH


            > HSET user1 name "Alice" email "[email protected]
               OK
            > HSET user2 name "Bob" email "[email protected]
               OK
            > HGETALL user1
               1) "name"                                                                         
               2) "Alice"                                                                          
               3) "email"                                                                        
               4) "[email protected]

 

(HASH 命令用于在指定 Key 中设置多个字段的值,也可用于获取指定 Key 中所有字段及其值。)


        7、LIST


            > LPUSH tasks "Task 3"
               1
            > LPUSH tasks "Task 2"
               2
            > LPUSH tasks "Task 1" 
               3
            > LRANGE tasks 0 -1
               1) "Task 1"                    
               2) "Task 2"                    
               3) "Task 3"                     
             > LPOP tasks           
                "Task 1"

 

(LIST 命令用于在指定 Key 的列表中插入、获取、删除值。)


        8、SET


            > SADD colors "red" "green" "blue" 
                3
            > SMEMBERS colors
               1) "green"                                        
               2) "red"                                            
               3) "blue"

 

(SET 命令用于在指定 Key 的集合中添加元素,SMEMBERS 命令用于获取指定 Key 的集合中所有元素。
)


八、REDIS 持久化
        1、概述

            Redis 提供了两种方式进行持久化,RDB 和 AOF。
        2、RDB 持久化
            配置
                (1)在多长时间后,如果有多少个键发生更改,Redis 执行写操作


                    save 900 1
                    save 300 10
                    save 60 10000


                (2)持久化文件的名称和位置


                    dbfilename dump.rdb


                (3)保存持久化文件的目录


                    dir /var/lib/redis


                (4)在上面的示例中,配置了三个 save 语句,表示如果在 900 秒内有至少 1 个键值对被修改,Redis 就会动执行一次


(注:RDB 持久化操作,以便将内存中的数据快照写入到磁盘中。其他两个参数表示进一步的持久化周期设置。dbfilename表示持久化文件的名字,dir 表示持久化文件应该被保存在哪个目录中。除了在配置文件中手动设置外,可以使用 CONFIG SET 命令对 Redis 进行实时配置。使用命令 SET CONFIGAUTO-AOF-SYNC YES 可以开启自动 AOF 同步,使用 SAVE 命令可以立即强制执行一次 RDB 持久化操作。)
        3、AOF 持久化
            (1)Redis 的 AOF 持久化有以下两种方式


                always
             每次发生写入操作时都会执行同步,会影响服务器的写入性能,但数据保护程度较高
                everysec
                    每秒执行一次同步操作,折中选项,既保证了写入性能又保障了数据安全


            (2)配置
                1、通过编辑配置文件 redis.conf 来打开 AOF 持久化功能


                    appendonly yes


                2、设置 AOF 日志文件的名称


                    # AOF 文件名,默认值为 appendonly.aof
                      appendfilename "myappendonly.aof


                3、设置 AOF 日志的存放目录


                     #AOF 存放路径,默认值为"./" dir /path/to/appendonly/


                4、设置 AOF 持久化的同步频率


                  # 设定数据同步方式,always 表示每次操作都同步,everysec 表示每秒同步一次
                       appendfsync everysec


                5、重启 Redis 服务生效


                    systemctl restart redis


                (完成以上步骤后,Redis 就可以使用 AOF 持久化了。需要注意的是,AOF 持久化会带来一定性能损失,因尽量选择每秒同步一次的策略,来保证数据的安全性和性能表现的平衡)
九、REDIS 数据恢复
        1、Redis 提供了多种数据恢复方式
            从 RDB 持久化文件恢复、从 AOF 持久化文件恢复、使用 Redis 复制功能从主库恢复数据。
        2、使用 RDB 和 AOF 持久化文件恢复数据的步骤
            使用 Redis 自带的命令来恢复数据。如果使用的是 RDB 持久化,可以找到最新的 dump.rdb 文件,在 redis-cli 下执行令即可


                redis-cli --raw < /var/lib/redis/dump.rdb


                如果使用的是 AOF 持久化,可以使用 bgrewriteaof 命令或者过滤操作来获取恢复文件


                    # 使用 bgrewriteaof 命令
                      redis-cli bgrewriteaof
                      grep -i "set.*key_name" /var/lib/redis/appendonly.aof > /var/lib/redis/redis_restore.aof
                    # 或者使用 sed 过滤
                       sed -n '/^.*set.*key_name.*$/p' /var/lib/redis/appendonly.aof > /var/lib/redis/redis_restore.aof


                    # 恢复


                       redis-cli --pipe < /var/lib/redis/redis_restore.aof


            将恢复文件复制到新的 Redis 服务器所在的目录中
            启动 Redis 服务器
            在 redis.conf 文件中确保已经启用了持久化,如已启用则执行以下命令


                redis-server /path/to/redis.conf


            (执行上述命令后就可以使用恢复的数据了,这两种方法可以根据实际需要灵活选择)
十、REDIS 示例数据
        1、具体下载步骤如下
            打开 Redis 官网的下载页面(https://redis.io/download)
            在页面中找到“Sample datasets for Redis” 部分
            点击链接,选择一个你想要下载的示例数据文件即可
        2、目前提供的示例数据文件有以下几个


            - big_data.zip
                包含一些极大数据的 Redis 数据集
            - country_zip_fat_j.txt
                国家表,可以用于测试模糊搜索和排序等功能
            - gfiber.py
                用于生成一个二进制谷歌光纤数据集的 Python 脚本
            - geo_data.py
                用于生成一个包含随机地理位置数据的 Python 脚本
            - hello-world.txt
                一个简单的 Redis 教程数据集


            (你可以根据自己的需要选择下载。下载完成后,解压示例数据文件,然后使用 Redis 客户端将数据导入 Redis 数据库中,即可开始使用并学习 Redis 数据库功能)
十一、REDIS 导入数据
        Redis 支持多种方式导入数据,常见的方式包括
            1、通过 Redis 自带的命令来导入数据
                可以使用 Redis 自带的数据导入命令`SET`,以及相应的数据类型命令,将数据添加到 Redis 数据库中


                    SET key1 value1
                    HASHSET key2 field1 value1 field2 value2
                    LIST key3 value1 value2 value3
                    SET key4 value1 value2 value3


            2、通过 Redis 客户端工具导入数据
                Redis 客户端工具 `redis-cli` 可以使用`SET`、`MSET`、`HSET`、`HMSET`等命令,同时还可以将数据保存在一个文本文件中,然后导入到数据库中。
                    将保存在文件`data.txt`中的数据导入 Redis 数据库,可以使用以下命令


                        cat data.txt | redis-cli --pipe


            3、通过 Redis 的持久化功能导入数据
                已经进行过持久化的数据可以通过以下命令导入 Redis 数据库


                    redis-cli --raw < dump.rdb


            4、通过 Redis 数据备份/恢复来导入数据
                使用 Redis 数据备份/恢复工具,在将备份文件恢复到新的 Redis 实例时,会将备份文件中的数据导入 Redis 数据库中
                    假设你已经有一份 Redis 的数据备份 `dump.rdb`,可以使用以下命令来恢复数据


                        redis-server --appendonly yes
                        redis-cli --rdb ./dump.rdb


            (上述是 Redis 导入数据的常见方式,可以根据你的具体情况选择一种方式来导入数据到 Redis 数据库中。)

你可能感兴趣的:(流程步骤,基础知识,java,数据库,redis)