一、Redis概念
redis 是非关系型数据库(NO-SQL),是内存数据库,但可以持久化。
语法:key-val。
同时redis新版默认是单线程,所以是线程安全。
二、Windows下配置环境
在Redis安装目录下,启动cmd,输入以下命令:
启动redis服务: redis-server 配置文件名
启动redis客户端:redis-cli -p 端口 -h 服务器地址 -a 认证
三、语法使用
3.1 String环境下
set key val -->添加
get key —>查询
del key—>删除 (通用)
setex key seconds val --设置过期时间 在分布式中可以做全局session
3.2 hash—>存储对象 ----java(Map集合)
1、 HSET key field value 添加
2、 HGET key fied —>查询
3、 HDEL key filed —>删除某个字段
4、del key —>删除所有
5、hmset key filed val filed val 批量添加
3.3 List---->队列 (栈)—>生产者和消费者(消峰)
队列是一个线型的数据结构,做了一个特殊的处理(先进(放入)先出(删除))
程序中的场景:生产者和消费者模型 。
(L)Rpush key val—>放
(L)RPOP key —>取
B(L)RPOP key timeout ---->阻塞的取
3.4 无序集合 —>交集、差集—>(共同好友、推荐好友)
sadd key val val —>添加
sinter key1 key2 ---->交集
sdiff key1 key2 ----->差集
3.5 有序集合 —>排序—>排行榜
zadd key score val score val… 添加
ZINCRBY key increment member
有序集合中对指定成员的分数加上增量 increment
排序:
zrange key start stop (-1,代表全部) 升序
zrevrange key start stop (-1,代表全部) 降序
四、redis使用场景
1、分布式session
2、分布式协调机制(单线程,数据安全)
3、缓存
4、存储对象
5、生产者消费者模型(队列、栈—>可以是阻塞式)
6、交集差集(共同好友、推荐好友)
7、排行榜