主要内容
redis
- 概念
- 下载安装
- 命令操作
- 数据结构
- 持久化操作
- 使用Java客户端操作redis
redis
-
概念
redis是一款高性能的NOSQL系列的非关系型数据库
Redis的存储格式是键值对形式;非关系型数据库主要用来处理缓存,特别是大量数据的高访问负载
一般会将数据存储在关系型数据库中,而在NOSQL数据库中备份存储关系型数据库的数据Redis服务器的读写速度非常快,读的速度是110000次/s,写的速度是81000次/s,Redis支持的数据类型为:
- 字符串型 string
- 哈希类型 hash
- 列表类型 list
- 集合类型 set
- 有序集合类型 sortedset
Redis的应用场景
- 缓存(数据查询,短连接,新闻内容,商品内容等)
- 聊天室的在线好友列表
- 任务队列。(秒杀,抢购,12306等)
- 应用排行榜
- 网站访问统计
- 数据过期处理
- 分布式集群架构中的session分离
-
下载安装
官网:https://redis.io
中文网:https://www.redis.net.cn/
推荐到中文网下载,下载后解压即可使用解压后需认识的几个文件:
- redis.windows.conf :配置文件
- redis-server.exe :redis服务器
- redis-cli.exe :redis客户端
-
命令操作
- redis的数据结构
redis存储的是:key,value格式的数据;其中key都是字符串,而value有5种不同的数据结构:- 字符串型 string
- 哈希类型 hash
- 列表类型 list
- 集合类型 set
- 有序集合类型 sortedset
接下来学习一些常用的Redis命令,,更多详细的用法可查看中文网中的Redis教程
-
操作字符串类型数据 string
字符串类型数据不能重复,若对同一个key多次赋值,则会被覆盖- 存储 :set key value
- 获取 :get key
- 删除 :del key
-
哈希类型 hash
哈希中存储的是map集合- 存储 :hset key filed value
- 获取 :hget key field,获取指定field对相应的值;hgetall key,获取所有的field和value
- 删除 :hdel key field
-
列表类型 list
列表类型相当于一个队列,可以添加一个元素到列表的头部(左边)或尾部(右边);列表中的元素允许重复- 添加 :
- 将元素加入列表左边 :lpush key value
- 将元素加入列表右边 :rpush key value
- 获取 : lrange key start end,若要获取全部,则end填写-1
- 删除 :
- 删除列表最左边的元素,并将元素返回 :lpop key
- 删除列表最右边的元素,并将元素返回 :rpop key
- 添加 :
-
集合类型 set
集合中不允许元素重复,也不保证顺序- 存储 :sadd key value
- 获取 :smembers key; 获取集合中所有元素
- 删除 :srem key value; 删除set集合中某个元素
-
有序集合类型 sortedset
集合中也不允许元素重复,集合中每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。- 存储 :zadd key score value
- 获取 :zrange key start end (withscores)
- 删除 :zrem key value
-
通用命令
- keys * :查询所有的键
- type key :获取键对应的value的类型
- del key :删除指定的key value
- redis的数据结构
-
持久化操作
- redis是一个内存数据库,当redis服务器重启,或者电脑重启,内存数据会丢失,所以我们需要将redis内存中的数据持久化保存到硬盘中
- redis持久化机制
-
RDB :默认方式,不需要再进行配置
在一定时间间隔中,会自动检测key的变化,然后持久化数据在配置文件redis.windows.conf中,默认有以下3条配置,功能分别对应如下:
# after 900 sec (15 min) if at least 1 key changed
save 900 1
# after 300 sec (5 min) if at least 10 keys changed
save 300 10
# after 60 sec if at least 10000 keys changed
save 60 10000
注意:若要使用持久化的redis数据,则需要用命令行启动Redis服务器,并指定配置文件的名称
如:C:\Users\sheng\Desktop\day14_redis\资料\redis\windows-64\redis-2.8.9>redis-server.exe redis.windows.conf
-
AOF :日志记录的方式,可以记录每一条命令的操作。可以在每一次命令操作后,持久化数据
不推荐此种持久化机制,性能不高此种持久化机制的使用方式为:
1.编辑配置文件redis.windows.conf;其中默认是关闭AOF方式的:appendonly no;若要使用此方式,则需要修改为:appendonly yes
2.然后默认的配置方式有三种,只启用了一种
# appendfsync always :每一次操作都进行持久化
appendfsync everysec :每隔一秒进行一次持久化
# appendfsync no :不进行持久化
-