Redis 学习

一、什么是redis

Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。

它通过提供多种键 值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下: 

结构类型

结构存储的值

结构的读写能力

STRING(字符串类型)

可以是字符串、整数或者浮点数

对整个字符串或者字符串的其中一部分执行操作;对整数和浮点数执行自增 (increment)或者自减(decrement)操作

LIST(列表类型)

一个链表,链表上的每个节点都包含 了一个字符串

从链表的两端推入或者弹出元素;根据偏移量对链表进行修剪(trim);读 取单个或者多个元素;根据值查找或者移除元素

SET(集合类型)

包含字符串的无序收集器(unordered collection),并且被包含的每个字符 串都是独一无二、各不相同的

添加、获取、移除单个元素;检查一个元素是否存在于集合中;计算交集、 并集、差集;从集合里面随机获取元素

HASH(散列类型)

包含键值对的无序散列表

添加、获取、移除单个键值对;获取所有键值对

ZSET(有序集合)

字符串成员(member)与浮点数分值 (score)之间的有序映射,元素的排 列顺序由分值的大小决定

添加、获取、删除单个元素;根据分值范围(range)或者成员来获取元素

二、redis应用场景

1. 缓存
2. 分布式集群架构中的session分离
3. 聊天室的在线好友列表
4. 任务队列。(秒杀、抢购、12306等等)

5. 应用排行榜

6. 网站访问统计
7. 数据过期处理(可以精确到毫秒) 

三、Redis几个常用命令

类型

命令

描述

例子

string

set

赋值

set key value

string

get

获取值

get key

string

incr

自增(+1)

incr key

string

decr

自减(-1)

decr key

string

setex

赋值并指定key的存活时间

setex key second value

key

exists

检查key是否存在

Exists key

key

expire

设置key过期

Expire key seconds

list

lpush

在list头部添加值

lpush key value [value2..]

list

rpop

从尾部弹出key的值(删除)

rpop key

list

llen

返回key的长度

llen key

 
原文地址:https://www.cnblogs.com/jeff-ideas/p/10540361.html