一、String(全部为字符串类型)
SET a1 1(设置a1的值为1)
GET a1(拿到a1的值)
DECRBY a1 2(将a1的值累减2)
INCRBY a1 2(将a1的值累加2)
MSET a1 1 a2 a a3 3 a4 4 (设置多个值)
MGET a1 a2 (拿到多个值)
SETEX b 10(设置TTL为10秒过期) 123 (b的值为123)
SETNX a 111 (设置key不存在的值 如果存在这不进行任何操作返回值为0)
二、Key
Del a(删除一个key)、
EXISTS a1 (判断a1是否存在 存在返回1 不存在返回0)
KEYS *1(匹配最后一个字符为1的key)(*代表全部)
KEYS ?1(?表示单个字符)
EXPIRE aa 60(表示将aa的过期时间设置为60秒)
PERSIST aa (表示移除aa的过期时间(TTL)设置为永不过期)
TTL aa (查看aa的剩余过期时间)
SCAN 0 MATCH aa* COUNT 10(表示查找以aa开头的所有key 返回10个值 会在上下浮动)
三、Hash(哈希表)
HSET student.001 name 张三 age 18(设置student.001的名字为张三,年龄18)
HGET student.001 name(获得student.001的名字 返回值为:张三)
HDEL student.001 name (删除student.001的名字 成功返回1 失败返回0)
HEXISTS student.001 age(判断student.001是否存在age这个字段存在返回1不存在返回0)
HGETALL student.001(返回student.001所有的字段和value)
HINCRBY student.001 age x(对student.001的age这个字段增加x)
HKEYS student.001(返回student.001的所有字段)
HMSET student.002 name 李四 age 19 sex 男
HMGET student.002 age name
HVALS student.002(查找student.002所有的value)
四、List(列表)
LPUSH class.110 a b c d e f g (从左往右推 排序为g f e d c b a)
RPUSH class.110 1 2 3(从右往左推 排序为 g f e d c b a 1 2 3)
LINDEX class.110 6 (根据索引查找索引为6的值 结果为a)
LPOP class.110(从左往右将第一个key推出去 结果为g)(剩余排序f e d c b a 1 2 3)
RPOP class.110(从右往左将第一个key推出去 结果为3)(剩余排序f e d c b a 1 2)
LSET class.110 -1 1(将索引为-1得值设置为1)(-1为最后一个元素 -2为倒数第二个元素)(排序为f e d c b a 1 1)
BRPOP key [key ...] timeout (命令阻塞)
key [key ...]
:一个或多个Redis列表的键名,BRPOP会按照提供的顺序检查这些列表。
timeout
:阻塞的超时时间(以秒为单位)。如果设置为0,则命令将无限期地阻塞,直到有元素可以被弹出。
五、Set(不可重复)
SADD class.120 1 2 3 9 8 7 1 2 5 6 4 (排序为1 2 3 4 5 6 7 8 9 )
SPOP 移除并返回集合中的一个随机的元素
SRANDMEMBER(随机返回集合中的一个元素)
SREM(移除一个元素)
SINTER 多个key(返回给定集合的交集)
SINTERSTORE destination key(将交集的放到destination )
SDIFF (返回给定集合的差集)
SDIFFST0RE
SUNION(返回给定集合的并集)
六、SortedSet
ZADD 将一个或多个元素及Score值加入到有序集合中
ZCARD (返回有序集key的基数)
ZCOUNT key min max (返回有序集合,Score值在最大和最小之间的数量)
ZINCRBY(为有序集合中Score值上加上增量)
ZRANGE
ZRANGEBYSCORE
ZREVRANGE
ZRANK
ZREVRANK
ZREM(移除)
七、BitMap(位图)
它允许你处理大量的布尔值(即 true 或 false,1 或 0)数据,并且非常节省空间。BITMAP 非常适合用于统计、去重等场景,比如统计用户是否访问过某个页面、用户是否拥有某个特性等。
假设我们要统计一周内每天用户是否登录过(以 1 表示登录,0 表示未登录)。
SETBIT user.login.week 0 1(表示周一登录)(返回值为未设置的值)
SETBIT user.login.week 1 1(表示周二登录)
SETBIT user.login.week 2 1
GETBIT user.login.week 0 (查询周一的时候用户是否登录 返回值为1)
GETBIT user.login.week 2(查询周一的时候用户是否登录 返回值为0)
BITCOUNT user.login.week(返回值为3 说明用户登录了三次)
BITOP operation destkey key [key ...]
作用:对两个或更多的 BITMAP
进行位操作,结果存储在 destkey
中。
operation
可以是 AND
, OR
, XOR
, 或 NOT
。
destkey
是存储结果的位图名称。
key
是参与运算的位图名称,可以有一个或多个。
and与(全为1才是1 有一个为0是0)
or 或(有一个为1就为1 全部是0才是0)
not非(是0为1 是1为0)
xor异或(相同是0 不同是1)
八、EVAL