Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。
从该定义中抽出几个关键信息,以表示Redis的特性:
存储结构:key-value。
基于内存亦可持久化,即使服务器重启,存储在redis中的key-value数据依然存在。
Value的数据类型Redis中的key对应的value可以存储的数据类型有:
Strings
Lists:
LPUSH, LRANGE, LLEN
Sets: 集合(无序)
* SADD * SREM(删除操作) * SINTER(交集运算) * SCARD(集合的总数) * SMEMBERS(无序列出集合的所有元素)
Sorted sets:集合(有序)
集合里每个元素有一个浮点类型的分值,分值决定集合中的元素的排列顺序,集合里的元素都是唯一的。ZADD zset 10 a 有序集合的命令都是以Z开头,例如ZADD。
Hashes
HMSET,HGET,HINCRBY,HEXISTSRedis的操作是原子的。例如INCR,就是不能同时对同一个key的value进行增量运算。
命令行工具redis command line:
下载redis-cli: https://redis.io/download
keys * .
type (key pattern).
HGETALL (key)
使用场景Redis的适用场景:
数据高并发的读写。配合关系型数据库做高并发缓存,缓存高频次访问的数据,降低数据库io。
海量数据的读写。
多扩展性要求高的数据
Redis不适用的场景:
需要事物支持
基于sql结构化查询存储,关系复杂
Driversjava中用到的有几个主要的redis drivers/clients:
Jedis : https://github.com/xetorthio/jedis
JRedis: https://github.com/alphazero/jredis
RJC: https://github.com/e-mzungu/rjc
参考:https://www.youtube.com/watch?v=5xtEpB2FmMU
https://blog.csdn.net/u011277123/article/details/78692603/