初识Redis一

目录

 

什么是Redis(参照Redis官网)

为什么用Redis(Redis相比较的优势)

Redis的数据类型


什么是Redis(参照Redis官网)

       Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.

       Redis是一个开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,带有半径查询和流的地理空间索引。Redis具有内置的复制,Lua脚本,LRU逐出,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。

       Redis是一种基于内存的key-value形式的非关系型数据库,也称之为no-sql数据库(与之相对应的就是关系型数据库,比如我们常用到的MySQL、Oracle等数据库都属于关系型数据库)。

为什么用Redis(Redis相比较的优势)

       1)Redis有丰富的数据类型:Redis支持string(字符串)、list(列表)、hash(散列)、set(集合)和zset(有序集合)五种数据类型,可以满足基本的需求。

       2)Redis的速度快,性能极高,它的读写速度都可以达到每秒几万次。

       3)Redis支持原子操作。要么执行成功要么失败完全不执行。

       4)Redis拥有丰富的特性,可用于缓存,消息,也可以将Redis的key设置过期时间,到期后自动清除等。

       5)Redis支持持久化操作。内存中的数据可能会因为各种原因置为0或者说消失,从而影响系统的体验,而Redis正好提供了多种本地化存储方法(RDB和AOF)。

Redis的数据类型

       1)string(字符串)

       string是redis最基本的类型。一个key对应一个value。string类型是二进制安全的。redis的string类型可以包含任何数据类型,包括图片格式或者序列化的对象,一个键最大能存储512Mb。

命令

行为

备注备注

set

设置存储在指定key中的值

redis的string类型可以包含任何数据类型,包括图片格式或者序列化的对象

get

获取存储在指定key中的值

del

删除存储在指定key中的值

       2)list(列表)

       Redis中的list列表是简单的字符串列表,按照插入的顺序排序,可以添加一个元素在列表的头部(左边)或者尾部(右边)。列表可以存储232-1元素(每个列表可存储40多亿)

命令

行为

备注备注

lpush(rpush)

将指定的值推入到列表

list列表是简单的字符串列表,按照插入的顺序排序,可以添加一个元素在列表的头部(左边)或者尾部(右边)

lrange

获取列表在指定范围内的所有值

lindex

获取列表在指定位置上的单个元素

lpop

从列表的左端弹出一个值,并返回被弹出的值

       3)hash(散列)

       redis的hash是一个键值对(key=>value)集合。redis的hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。每个hash可以存储232-1键值对(约40多亿)。

命令

行为

备注备注

hset

在散列中设置指定的键值对

redis的hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。

hget

获取指定散列键的值

hgetall

获取散列包含的所有的键值对

hdel

若指定的键存在于散列中,则将其移除

       4)set(集合)

       redis中的set是string类型的无序的组合。集合是通过哈希表实现的。

命令

行为

备注备注

sadd

将指定的元素添加到集合

Redis中的set是string类型的无序的组合。集合是通过哈希表实现的。

smembers

返回集合包含的所有元素

sismember

检查指定的元素是否存在集合中

srem

若指定的元素存在于集合中,则从集合中移除此元素

       5)zset(有序集合)

       redis中的zset和set 一样也是string类型元素的集合,且不允许重复的集合。不同的每个元素都会关联一个double类型的分数,redis正是通过分数来给集合中的成员按照从小到大的排序。zset中的成员是唯一的,但是分数(score)却是可以重复的。

命令

行为

备注备注

zadd

将一个带有给定分值的成员添加到有序集合中

redis中的zset和set 一样也是string类型元素的集合,且不允许重复的集合。

zrange

根据元素在有序集合中存在的位置,从有序集合中获取多个元素

zrangebyscore

获取有序集合在给定分值范围内的元素

zrem

若给定的成员存在于有序集合中,则从有序集合中将其移除

你可能感兴趣的:(java进阶之路)