redis

发布时间 2023-08-29 10:58:18作者: PHOEDE

    1、什么是NOSQL?

             NoSQL ( Not only sql ) 是对不同于传统的关系数据库的数据库管理系统的统称,即广义地来说可以把所有不是关系型数据库的数据库统称为NotSQL。

    2、nosql和rdbms的区别

            NoSQL的特点:(Not Only SQL ) 非关系型数据库

              · 工具:Redis、Hbase、MongoDB

              · 应用:一般用于高并发高性能场景下的数据缓存或者数据存储

              · 特点:读写速度特别快,并发量非常高。相对而言,不如RDBMS稳定,对事务性的支持不太友好。

              · 开发:每种NoSQL都有自己命令语法

            RDBMS的特点:关系型数据库管理系统

              · 工具:MySQL、Oracle、SQL Server

              · 应用:业务性数据存储系统

              · 特点:体现数据之间的关系,支持事务,保证业务网完整性和稳定性,小数据量的性能也比较好。

    3、什么是redis

            Redis是一种开源的NoSQL内存数据库,用于高性能的数据存储和访问。Redis支持多种数据类型,包括字符串、哈希、列表、集合和有序集合,并且支持分布式存储和操作。Redis的特点包括快速、高可用和易扩展等,适用于各种引用场景。

    4、如何安装redis    

            (1)安装redis前,需要先安装c语言的插件  

               yum install gcc-c++    

            (2)下载redis软件

               https://redis.io/download/

            (3)把redis压缩包上传到linux指定目录下

                

            (4)解压redis

                tar -zxvf  redis-7.2.0.tar.gz

              (5) 进入解压目录 并编译源码

                make

            (6) 安装redis---帮你安装配置环境变量

                make install

            (7) 启动redis服务

                redis-server redis.conf

              (8) 客户端连接redis

                redis-cli -h【连接redis服务的ip】-p【连接redis的端口号】

   5、redis.conf配置

             (1)配置redis后台启动:

                

            (2)修改端口号

                     

            (3)查看进程端口号

                ps -ef | grep redis

                

            (4)关闭进程

                kill  -9 进程号

    6、安装redis图形化客户端软件

            等价于:mysql中的navicat. 可以通过图形化对redis进程操作。

            

            修改redis允许远程连接。

            (1)设置允许所有的ip连接该redis

                

            (2)设置是否开启保护模式-----yes开启 no表示关闭

              

            (3)默认redis提供了16个库。如果想修改库的个数

              

     7、redis中常用的命令

              (1)数据库的命令:

                  select 选择库。  ==默认为第一个库0~15

                  

                  flushall      ==清空所有库的内容

                  

                  flushdb      ==清空当前库的内容

                  

             (2)关于key的命令:

                  keys *:查看当前库中所有的key

                  

                  del key key ...:  删除指定的key

                  

                  exists key:  判断指定的key是否存在

                  

                  expire key seconds:  设置指定的key的过期时间 单位秒

                  

                  tll key:【ttl time to live】查看当前key的有效时间。-1表示永不过期

                  

     8、redis支持的数据类型

                     https://www.redis.net.cn/order/

                    redis中它的value类型为字符串类型,该类型最多可以存放512M的内容。

                    redis可以存放哪些数据库类型。---redis的value可以是哪些数据类型。

                  

 

             使用最多的类型为: Strings字符串类型,Lists队列类型,Sets集合类型,Hashes哈希类型,SortedSet 有序集合类型。

                

 

      9、字符串类型相关的命令

              

                 (1)set key value:    ==存储字符串类型的数据。这里的key不允许重复

                  

                  

                 (2) get key:        ==根据key获取对应的value值

                  

                 (3) mset key value key value .....:    ==存储多个key-value值

                  

                  

                (4) setnx key value:    ==如果指定的key存在,则不存入,如果不存在则存入

                 

                (5) incr key:        ==为指定的key递增。只能对整形。

                 

                (6) decr key:      ==为指定的key递减

                 

                (7)· decrby key number:    ==为指定的key递减相应的值

                 

     10、hash的数据类型命令

                  表示redis中它的value类型为hash数据类型。hash类型的特点: 它的value也是一个键值对的形式。

              (1) hset key field value:    ==存放hash类型的数据

                 

                 

              (2)hget key field:    --获取对应field字段的值

                  

              (3)hgetall key:      ==获取key对应hash数据内容

                  

              (4)hkeys key:        ==获取hash中所有field字段

                  

              (5)hvals key:        ==获取hash中所有的value值

                  

     11、List列表类型

                  它的value值为一个列表队列类型,列表中的元素允许重复。 key对应的value类型为一个列表类型。

              (1)lpush key value value ......:    ==从左边存放列表数据

                  

              (2)lpush key [count]:        ==从左边取出元素

                  

              (3)lrange key start end:      ==从左边获取指定范围的元素 -1,表示最后一个元素