Redis初步使用+Redis常见数据类型+Redis常用命令

目录

1.简介

2.启动与停止

3.数据类型·常用命令



1.简介

Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构[存放的数据类型],例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。

特点:

1.Redis读取的速度是110000次/s,写的速度是81000次/s。 2.原子 。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。 3.支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合) 4.持久化,默认在内存中进行计算。可以持久化到磁盘。

  1. 主从复制(集群) 5.官方不支持window系统,但是又第三方版本。 linux系统。

用途:缓存,数据库,消息中间件

NOSQL(Not Only Sql) ,非关系型数据库(key value)关系型数据库的补充

应用场景:缓存,任务队列,消息队列,分布式队列

NOSQL和RDBMS的区别

RDBMS --关系型数据库

  • 高度组织化结构化数据。 --表结构 列 列....

  • 结构化查询语言(SQL) sql语句

  • 数据和关系都存储在单独的表中。

  • 数据操纵语言DML,数据定义语言DDL

  • 严格的一致性. ACID 原子性 隔离性 持久性 一致性

  • 基于事务----都支持事务

NoSQL

  • 代表着不仅仅是SQL

  • 没有声明性查询语言

  • 键 - 值对存储。

  • 非结构化和不可预知的数据 字符串 集合 对象 队列

  • 高性能,高可用性和可伸缩性。 ----便于搭建集群---挂载

NOSQL的产品

redis----结构基于key和value的形式 mongodb---介于关系型数据库和非关系数据库之间

2.启动与停止

Windows

下载 解压

启动:双击 redis-server.exe

停止:Ctrl+C

Linux

(1) 官网下载 .tar.gz文件

(2) 拖入linux 解压

这里放入了 /usr/local文件夹下

tar -zxvf xxx.tar.gz

(3) 进入到解压目录编译并安装

make 编译

make install 安装

(4) 启动redis

redis-server redis.conf //配置文件所在的路径

2.1Redis客户端连接Redis服务器

redis-cli 连接本地服务

redis-cli -h 192.168.1.35 -p 6379

-h:redis服务器主机的ip

-p:redis服务器的端口号

测试:

Redis初步使用+Redis常见数据类型+Redis常用命令_第1张图片

2.2Redis的配置文件

redis.conf配置文件说明

配置项名称 配置项值范围 说明
daemonize yes、no yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行
port 指定 Redis 监听端口,默认端口为 6379
bind 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。
protected-mode yes 、no 保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。
timeout 300 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能
loglevel debug、verbose、notice、warning 日志级别,默认为 notice
databases 16 设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到
rdbcompression yes、no 指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。
dbfilename dump.rdb 指定本地数据库文件名,默认值为 dump.rdb
dir 指定本地数据库存放目录
requirepass 设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭
maxclients 0 设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。
maxmemory XXX 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。

(1) 开启后台启动

(2) 设置Redis远程连接

验证

Redis初步使用+Redis常见数据类型+Redis常用命令_第2张图片

2.3安装redis的客户端的UI软件

等价于Navicat

Redis初步使用+Redis常见数据类型+Redis常用命令_第3张图片

Redis初步使用+Redis常见数据类型+Redis常用命令_第4张图片

Redis初步使用+Redis常见数据类型+Redis常用命令_第5张图片

3.数据类型·常用命令

Redis命令手册

Redis命令参考

Redis存储的是key-value结构的数据,其中key是字符串类型,value有五种常用的数据类型:

  • 字符串 string 一般存放字符串

    • set key value 设置指定key的值

    • mset key value key value 设置多个key-value

    • mget key key 获取多个key的值

    • get key 获取指定key的值

    • setex key seconds value 设置指定key的值,并将key的过期时间设定为seconds秒

    • setnx key value 只有在key不存在时设置key的值

    • incr value为数字,加1 :点赞

    • decr value为数字,减1

  • 哈希 hash 一般存放对象数据

    Redis初步使用+Redis常见数据类型+Redis常用命令_第6张图片                                                 Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象,常用命令:

    • hset key field value 将哈希表key中的字段field的值设为value

    • hget key field 获取存储在哈希表中的指定字段

    • hdel key field 删除存储在哈希表中的指定字段

    • hkeys key 获取哈希表中所有字段

    • hvals key 获取哈希表中所有值

    • hgetall key 获取在哈希表中指定key的所有字段和值

  • 列表 list

    Redis初步使用+Redis常见数据类型+Redis常用命令_第7张图片

    Redis 列表是简单的字符串列表,按照插入顺序排序,常用命令:

    • lpush key value1 [value2] 将一个或多个值插入到列表头部

    • lrange key start stop 获取列表指定范围内的元素

    • rpop key 移除并获取列表最后一个元素

    • lpop key 移除并获取列表第一个元素

    • llen key 获取列表长度

    • brpop key1 [key2] timeout 移除并获取列表最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

  • 集合 set

    Redis初步使用+Redis常见数据类型+Redis常用命令_第8张图片

    Redis set 是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据,常用命令:

    • sadd key member1 [member2] 向集合中添加一个或多个成员

    • smembers key 返回集合中的所有成员

    • scard key 获取集合的成员数

    • sinter key [key2] 返回给定所有集合的交集 :公共好友

    • sunion key1 [key2] 返回给定所有集合的并集

    • sdiff key1 [key2] 返回给定所有集合的差集(key1 - 1和2的交集)

    • srem key member1 [member2] 移除集合中一个或多个成员

    • srandmember key 随机返回一个元素

  • 有序集合 sorted set

    应用场景:排行榜

    Redis初步使用+Redis常见数据类型+Redis常用命令_第9张图片

    Redis sorted set 有序集合是 string 类型元素的集合,且不允许重复的成员。每个元素都会关联一个double类型的分数(score)。redis正是通过分数来为集合中的成员进行从小到大的的排序。有序集合的成员是唯一的,但分数可以重复。常用命令:

    • zadd key score1 member1 [score2 member2] 向有序集合添加一个或多个成员,或更新已存在成员的分数

    • zrange key start stop [withscores] 通过索引区间返回有序集合中指定区间内的成员 从小到大

    • zrevrange key start stop [withscores] 通过索引区间返回有序集合中指定区间的成员 从大到小

    • zincrby key increment member 有序集合中对指定成员的分数加上增量increment

    • zrem key member [member ...] 移除有序集合中一个或多个成员

  • 通用命令

    • keys pattern 查找所有符合给定模式(pattern)的key-------keys *==显示所有key

    • exists key 检查给定key是否存在

    • type key 返回key所储存的值的类型

    • ttl key 返回给定key的剩余生存时间(TTL,time to live),以秒为单位

    • del key 该命令用于在key存在时删除key

    • flushdb 清除当前数据库数据

    • flushall 删除全部数据

    • expire key 为指定的key设置过期时间

你可能感兴趣的:(Redis,redis,数据库,缓存)