Redis学习笔记

一些简单的redis基础

基本数据结构

字符串

//区分大小写,默认使用字符串,以二进制安全存储
SET key value
GET key
DEL key
EXISTS key
KEYS *
//删除
FLUSHALL
//查看过期时间
TTL key
//设置过期时间(10s)
EXPIRE key 10
SETEX key 10 value
//如果存在不设置,不存在才设置
SETNX key value

列表

//头尾插入元素,可以多个
RPUSH/LPUSH key value1, value2
//起始位置、结束位置都从0开始,-1表示最后一个元素
LRANGE key start stop
//头尾删除元素,可以删除多个元素
RPOP/LPOP key num
//获取列表长度
LLEN key
//删除起始位置和结束位置以外的元素
LTRIM key start, stop

集合(不可重复,没有顺序)

//可添加多个
SADD key member
//查看元素
SMEMBERS key
//判断是否在集合中
SISMEMBER
//删除元素
SREM key member
//集合元素
SINTER\SUNION\SDIFF

有序集合(元素不可重复,分数可以)

//分数在前,元素在后
ZADD key score member
//获取元素并获取分数
ZRANGE key start stop WITHSCORES
//获取分数
ZSCORE key member
//获取排名,从小到大index.
ZRANK key member
ZREVRANK key member
//删除元素
ZREM key member

哈希

//key-键值对
HSET key field value
//获取元素
HGET key field
HGETALL key
//删除key中某个键值对
HDEL key field
//判断是否存在
HEXISTS key field
//获取所有key
HKEYS key
//获取长度
HLEN

发布订阅

publish name value
SUBSCRIBE name

STREAM

//添加消息
XADD name message
example:XADD test *(自动生成消息id) course redis
//获取消息长度
XLEN name
//获取详细内容
XRANGE name start end
XRANGE name - +
//删除消息
XDEL
XTRIM
XTRIM name MAXLEN 0
//读取消息,可以重复读取
XREAD count 2 BLOCK STREAMS name index
//创建消费者组
XGROUP CREATE message-name group-name id
//获取信息
XINFO GROUPS message-name
//
XGROUP CREATECONSUMERS

Geospatial

GEOADD key 经度 纬度 value
GEOPOS key value
GEODIST key value1 value2 默认单位米
GEOSEARCH key FROMMEMEBER value BYRADIUS 300 KM

HyperLogLog

PFADD cource git docker
PFCOUNT cource
PFMERGE

Bitmap

SETBIT dianzan 0 1
SET dianzan "\xF0"
BITCOUNT dianzan
BITPOS dianzan

Bitfield

BITFIELD player:1 set u8 #0 1
BITFIELD player:1 set u32 #1 100

事务

  • 将命令缓存不立即执行

  • 收到exce命令,开始执行,某个命令失败,依然继续执行。

  • 其他客户端提交的请求,不会插入到

MULTI
	SET
	LPUSH
	SADD
EXEC/DISCARD

Comment