湘乡彭于晏学习前端
redis相关笔记
2023-01-29redis录1269

redis常用命令

redis终端连接

  • redis-cli ping pong

选择数据库

  • 选择redis的2号数据库   (0-16) --> select 2

对string的操作

set k v   --> 设置 key value

get k 返回 v

多个设置

  • mset name xxpyy age 18

  • mset k v k v

多个查询   --> mget name age class

设置过期时间

  • setex k ex v   (ex-->expire到期失效)

  • setex class 10 1   (十秒钟内 class的值是1,过了10秒钟class的值为nil)

追加

  • append k NewValue

  • append name 123   ( get name-->xxpyy123 )

中文编码 先exit 然后 redis-cli --raw

对键的操作

keys * 查询所有的键

keys b* 查询所有b开头的键

exists name

  • exit key 返回0即为不存在 返回1即为存在

  • exists b1

  • exists b*

删除key

  • del name

  • del b1 b2 b3   (返回数即为删除个数)

设置过期时间

  • expire key time

  • expire age 10   10秒后key-value过期

查看key还有多久过期 --> ttl key

返回键的类型 --> type key

对hash的操作

单个field设置

  • hset key field value

  • hset me name xxpyy

  • hset me age 18

多个field设置

  • hmset key field value field value..

  • hmset me name xxpyy age 18 gender male

查询

  • hget key field   (查询键下面的属性的值)

  • hgetall key   (查询此key下的所有属性和值)

  • hmget key filed filed ...

  • hmget me name age gender

  • hkeys key   (查询key下面所有的属性)  hkeys me -->name age gender

  • hvals key   (查询key下面所有的属性对应的值)   hvals me --> xxpyy 18 male

删除

  • hdel me gender   删除gender属性

对list的操作

  • lpush key value1 value2 ...   (从左插入值)   lpush c c1 c2 c3 c4

  • lrange key x y   (查询key对应的value 从x到y)   lrange c 0 3   --> c4 c3 c2 c1

  • rpush key value1 value2..  (从右插入值)   rpush d d1 d2 d3 d4  lrange d 0 3 -->d1 d2 d3 d4

  • lrem key x value   ( 删除list中的x个value )   lrem c 3 a   --->. 删除c中的正顺序3个a

  • (负号表示倒数)

  • lrem key -1 value  lrem c -1 a -->删除一个c中倒数的一个a   x表示count 和

  • lrem key 0 value   删除list中所有的指定的value   lrem c 0 a -->删除 c中所有的a

  • linsert key after oldvalue new value   在指定的value后面插入一个value   linsert c after c1 mdb

对set的操作

  • [无序]

  • sadd key value1 value2 value3 ...   虽然value有重复但真正add是没有重复的[无序]   sadd y a1 a2 a3 a4 a2 a1

  • smembers key   查询set所有value   smembers y   --> a3 a4 a1 a2

  • srem key value   删除key中的一个value   srem y a1   -->smemebers y   --> a3 a4 a2

  • sismember key member   查询member元素是否是集合key的成员

对zset的操作

  • [有序] 权重(分数)

  • zadd key score1 value1 score2 value2..   zadd yy 2 a1 4 a2 1 a3

  • zrange key x y   zrange yy 0 -1   -->查询所有的value倒序(从低到高) x y是指定范围 0 1   -->表示第一个到第二个

  • zrevrange key xy   zrevrange yy 0-1   -->按分数从高到低查询所有的value   0 -1   -->表示从第一个到最后一个

  • zrangebyscore key x y   zrangebyscores yy 2 4  查分数是2到4的所有value值

  • zscore key value1   查询value对应的分数   --> zscore yy a2   -->4

  • zrem key value1   删除   -> zrem yy a1

  • zremrangebyscore   根据权重(分数)删除value   --> zremrangebyscore yy 0 4

  • zinterstore newKey numKeys key1 key2 ...   zadd key1 1 a   zadd key2 3 a   zinterstore key 2 key1 key2

  • Zinterstore 命令计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)储存到 destination(新的zset 新的key)   -->a 4

  • zincrby key incrementScore value   zincrby yy 6 a2   --> yy 从4变成 6 (加减score的操作)

  • zcount key min max   zcount a2 0 -1 --> (查询key下所有member的数量)