redis是"键值对"型的数据结构
核心数据结构
字符串:String(文本、数值)
bash
# 设置键
SET key value;
# 获取键
GET key
# 向键已存在的值追加内容
APPEND key value
#计数器-自增-自减
INCR key
DECR key
# 将键增加、减少指定的值
INCRBY key increment
# 设置键的值
GETSET key value
哈希:Hash(适合存储具有多个字段的对象)
bash
# 设置哈希字段的值
HSET user:1 name "John" age 22 emai "xx@e.com"
# 字段不存在时设置值
HSETNX tel '13121212000';
# 获取哈希字段的值
HGET user:1 name
# 获取哈希中所有字段和值
HGETALL
# 删除哈希字段
HDEL user:1 age
# 检查哈希字段是否存在
HEXISIS user:1 name
# 使用HINCREBY 和 HINCRBYFLOAT 可以对哈希字段的数值进行增加操作
HINCREBY user:1 age 1 #将age增加1
# HKEYS和HVALS可以分别获取哈希的所有字段名或字段值
HKEYS user:1
HVALS user:1
列表:List
bash
# 添加元素到列表
LPUSH key ele #头部添加
RPUSH key ele #尾部添加
# 获取列表中的元素
LRANGE list 0 3 #获取list列表中0到3 的元素
# 删除
LPOP mylist #移除并返回列表的第一个元素
RPOP
LREM key count value #根据参数count值,移除与value相等的元素
#修改
LSET mylist 1 newEle #将列表中索引为1的元素值设置为newEle
#获取元素索引
LINDEX key index #返回列表中索引为index的元素
#插入元素到列表中
LINSERT mylist AFTER element1 newEle #在element1元素后插入newEle
集合:Set
bash
# 添加成员
SADD key ele1 #向集合中添加元素ele1
# 获取集合中所有成员
SMEMBERS key
# 判断成员是否为集合的成员
SISMEMBER key member
# 移除集合中的成员
SREM key member1
# 获取集合的成员数
SCARD key
# 返回多个集合的交集
SINTER key1 key2 key3...
#交集SINTER与并集SUNION/差集SDIFF
有序集合:Sorted Set
bash
# 添加元素
ZADD key val mem; #向key的有序集合中添加元素mem成员,数值为val
# 获取分数
ZSCORE key mem; #获取key中mem的值
# 获取元素排名
ZRANK key mem #从小到大
ZREVRANK key member #从大到小
ZRANK zset 0 1 WITHSCORES #获取分数最低到最高的前两个成员及其分数
# 增加元素的分数
ZINCREBY key increment mem;#increment是要增加的分数 mem是成员
#删除元素
XREM zset "one" #删除zset中的"one"
高级特性
数据持久化:RDB快照与AOF日志
发布订阅:简易消息系统
事务与管道:批量操作与原子性