Redis学习笔记(一)

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,HEXISTS

Redis的操作是原子的。例如INCR,就是不能同时对同一个key的value进行增量运算。

命令行工具

redis command line:

下载redis-cli: https://redis.io/download

keys * .

type (key pattern).

HGETALL (key)

使用场景

Redis的适用场景:

数据高并发的读写。配合关系型数据库做高并发缓存,缓存高频次访问的数据,降低数据库io。

海量数据的读写。

多扩展性要求高的数据

Redis不适用的场景:

需要事物支持

基于sql结构化查询存储,关系复杂

Drivers

java中用到的有几个主要的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/

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydysg.html