redis
概念
redis是一款高性能的NOSQL系列的非关系型数据库
数据之间没有关联关系
数据存储在内存中
一般会将数据存储在关系型数据库中,在nosql数据库中备份存储关系型数据库的数据
redis的应用场景
- 缓存(数据查询、短连接、新闻内容、商品内容等)
- 聊天室的在线好友列表
- 任务队列(秒杀、抢购、12306等)
- 应用排行榜
- 网站访问统计
- 数据过期处理(可以精确到毫秒)
- 分布式集群架构中的session分离
命令操作
- redis的数据结构
- redis存储的是:key-value格式的数据,其中key都是字符串,value有5种不同的数据结构
- value的数据结构:
- 字符串类型:string
- 哈希类型:hash:类似map格式
- 列表类型:list:linkedlist格式
- 集合类型:set:
- 有序集合类型:sortedset
- value的数据结构:
- redis存储的是:key-value格式的数据,其中key都是字符串,value有5种不同的数据结构
- 字符串类型 string
- 存储:set key value
- 获取:get key
- 删除:del key
- 哈希类型:hash
- 存储:hset key field value
- 获取:
- hget key field:获取指定的field对应的值
- hgetall key:获取所有的field和value
- 删除:hdel key field
- 列表类型:list
- 存储:
- lpush key value:将元素加入列表左边
- rpush key value:将元素加入列表右边
- 获取:
- lrange key start end:范围获取
- 删除:
- lpop key:删除列表最左边的元素,并将元素返回
- rpop key:删除列表最右边的元素,并将元素返回
- 存储:
- 集合类型:set:不允许重复元素
- 存储:sadd key value
- 获取:smembers key:获取set集合中所有元素
- 删除:srem key value:删除set集合中的某个元素
- 有序集合类型:sortedset:不允许重复元素,且元素有顺序
- 存储:zadd key score value
- 获取:zrange key start end
- 删除:zrem key value
- 通用命令
- keys * :查询所有的键
- type key:获取键对应的value的类型
- del key:删除指定的key value
持久化
- redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中
- redis持久化机制:
- RDB:默认方式,不需要进行配置,默认就使用这种机制
- 在一定的间隔时间中,检测key的变化情况,然后持久化数据
- AOF:日志记录的方式,可以记录每一条命令的操作。可以每一次命令操作后,持久化数据。
- RDB:默认方式,不需要进行配置,默认就使用这种机制