redis教程2(基础命令string hash list set zset)

文章详细介绍了Redis中的基本数据类型,包括String、Hash、List、Set和Zset的操作命令,如设置值、获取值、批量操作、计数等。还特别提到了String类型的`setnx`在实现分布式锁中的应用,以及各种数据类型的特定命令,如Hash的`hmset`、List的`lpush`、Set的`sadd`和Zset的`zadd`等。
摘要由CSDN通过智能技术生成

redis 基础命令

String 常用命令

  1. 设置值
set key  value [nx][xx][ex seconds] [px millisseconds]
// nx 健必须不存在, 才能设置成功, 用于添加
// xx 与nx 相反, 健必须存在,才能设置成功, 用于更新
// ex seconds 为健设置秒级过期时间
// px millseconds 为健设置毫秒级过期时间
// 例1  
set java  version17 
// 例2
set java version17 nx ex  60
  1. setex 与setnx
setnx 与 set nx 一致
例如: 
setnx java1 ver17
set java1 ver17 nx     
效果一样的
setex  key 60 value 与set key value ex 60  一样

// setnx 适用于多线程同时执行setnx key value , 只有一个线程执行成功, 可以用于分布式锁的实现。
  1. exists key 判断key 是否存在
  2. get key 获取key 的值 没有返回 (nil)
  3. mset key value [key value …] 批量设置键值
// 例如
mset java 17 python 3 php 2
// 可以提高redis 的性能, 节省网络开销, n个key-value一起存
  1. mget key [key …]
// 例如:
mget java python php
 // 可以提高redis 的性能, 节省网络开销, n个key一起取
  1. incr key 计数
set java 0
incr java  给java 的值加一
// 当java 的值是整数是 返回 自增后的结果
// 当java的值不是整数时 返回错误
// 如果java 这个key 不存在, 按照值为0自增, 返回结果为1
  1. decr key 自减
  2. incrby key incrment 自增指定数字
    10.decrby key decrment 自减指定数字
  3. incrbyfloat key incrment 自增浮点数

String 不常用命令

  1. append key value 追加值
  2. strlen key 计算字符串长度
  3. getset key value 与set 值一样, 但是getset 会返回一个原来的值
  4. setrange key offset value // 改变某个位置上的值
set redis pest 
setrange redis 0 b   => get redis => best
  1. getrange key start end 获取部分值

hash 的常用命令

  1. hset key field value // 设置值
hset user:1 name tom
  1. hget key field // 获取值
hget user:1 name
  1. hdel key field 删除field
  2. hlen key 计算field 的数量
  3. hmset key field value [field value …]
hmset user:1 name mike age 13 city tianjin
  1. hmget key [field …]
hmget user:1 name city
  1. hexists key field //判断 field 是否存在
  2. hkeys key 获取所有的field
  3. hvals key 获取所有的value
hvals user:1
  1. hgetall key 获取所有的key - value 的值

list的常用命令

  1. rpush key value [value …]
// 从右向左插入元素
rpush listkey c b a
  1. lrange listkey 0 -1 从左到右获取列表的左右元素
  2. lpush key value [value …]. 从左向右插入元素
  3. linsert key before | after pivot value 向某个元素的前面或后面插入元素
  4. lrange key start end 获取指定范围的列表
  5. lindex key index 获取列表指定下表的元素
  6. lien key 获取列表长度
  7. lpop key 从列表左侧弹出元素
  8. rpop key 从列表右侧探出元素
  9. lrem key count value 删除指定元素
  10. ltrim key start end 按照指定范围修建列表
  11. lset key index newValue 修改指定下表的元素
  12. blpop key [key …] timeout. brpop key [key … ] timeout
blpop list:text 3

set 的常用命令

  1. sadd key element [element …]
sadd  setkey a b c
  1. srem key element [element …]. 删除
  2. scard key 计算元素个数
  3. sismember key element 判断元素是否存在集合中
  4. srandmember key [count] 随机返回指定个数的元素
  5. spop key 从集合中随机弹出元素
  6. smembers key 获取所有元素
  7. sinter key [key …] 获取多个集合的交集
  8. sunion key [key …] 获取多个集合的并集
  9. sdiff key [key …]
sdiff user:1:follow user:2:follow 

zset 有序集合

  1. zadd key score member [score member …]. 添加
zadd user:ranking 80 kris 99 frank 200 tim 240 martin
zadd 可以配合nx, xx , ch, incr使用
nx member 必须不存在 才能添加成功 用于新增
xx member 必须存在, 才能成功 用于更新
ch 返回此次操作后, 有序集合和分数发生变化的个数
incr 多score 做加法
  1. zscore key member 计算某个成员的分数
  2. zrank key member 从低到高返回排名
  3. zrevrank key member 从高到低返回排名
  4. zrem key member [member …]. 删除成员

redis 每种数据类型都有其命令, 不同的数据类型也可以使用不同的场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值