Redis 操作数据

1. 字符串


  • 插入数据: set key value
  • 获取数据: get key
  • 删除键: del key
  • 获取所有的键: keys *
  • 验证键是否存在: exists key

  • set操作

    • key不存在则插入: setnx key value
  • 期望key存在多长时间: setex key 几秒 value
  • 指定key的value值的子字符串(替换): setrange key 起始位置(start从0开始) value(替换后的值)
  • 一次设置多个key: mset key1 value1 key2 value2 …
  • 一次设置多个key的值(有一个已经存在则回滚):msetnx key1 value1 key2 value2

  • get操作
    -
  • 获取可以对应的值: get key
  • 设置key的值并返回旧值:getset key value
  • 获取key的子字符串: getrange key start end(起始位置)
  • 获取多个key的值:mget key1 key2 key3…

  • 自增
    -
  • 对key的值做++操作: incr key
  • 对key加指定的值: incrby key value
    -
    自减

    • 对key的值做–操作: decr key
  • 对key的值指定减操作: decrby key

  • 追加字符串
    -
  • append key value(追加的字符串)
  • 获取key的value长度: strlen key

  • 哈希操作
    -
  • 创建哈希结构数据: hset key field value
  • 哈希不存在则创建: hsetnx key filed value
  • 同时设置hash的多个field: hmset key field1 value1 field2 value2 ..
  • 获取指定hash 的field: hget key field
  • 获取全部指定的hash filed: hmget key field1 field2..

  • h自增
    -
  • 指定的hash filed 加上给定值:hincrby key filed value

  • 获取hash的field和value

    • hash的filed是否存在: hexists key field
  • hash field的数量: hlen key
  • 删除hash指定的field: hdel key field
  • 获取hash的所有field: hkeys key
  • 获取hash的所有的value: hvals key
  • 获取hash的所有field和value: hgetall key

    List集合操作


    • 从list头部添加字符串元素:lpush key value1 value2..
  • 从list尾部添加字符串:rpush key value1 value2..
  • 在list特定位置之前或之后添加字符串:linsert key before value1 value2
  • 设置list中指定下标的元素值: lset key index value
  • 删除count个和value值相同的元素(count>0从尾部开始删除,count<0从头部开始删除,count=0删除全部为value值):lrem key count value
  • 保留指定key的值范围内的数据: ltrim key start end(下标)
  • 从list的头部删除数据:lpop key
  • 从list的尾部删除数据:rpop key
  • 从第一个list的尾部移除元素添加到第二个list的头部: rpoplpush key1 key2
  • 返回名称为key的index位置的元素:lindex key index
  • 返回key对应list的长度:llen key
  • 查看集合所有元素:lrange key 0 -1

Sets类型及操作

  • 向名称为key的set中添加元素: sadd key value1 value2…(会去重)
  • 删除名称未key的set中的元素:srem key value1 value2..
  • 随机返回并删除名为key的set中的一个元素:spop key value
  • 返回所有给定key与另外第一个key的差集:sdiff key key1
  • 返回所有给定key与第一个key的差集,并将结果另存一个key:sdiffstore key key1 key2
  • 返回所有给定key的交集: sinter key1 key2 kye3…
  • 返回所有给定key的交集,并将结果村委另一个key:sinterstore key key1 key2 key3..
  • 返回所有给定key的并集:sunion key1 key2 key3..
  • 返回所有给定key的并集,并将结果村委另一个key:sunionstore key key1 key2 key3..
  • 从一个key对应对的set中移除member并添加到第二个对应set中:smove key1 key2 value
  • 返回名称为key的set的元素个数:scard key
  • 测试member是否是名称未key的set的元素: sismember key value
  • 随机返回名称为key的set的一个元素(不删除):srandmember key
    -smembers key : 返回key所有的value值
    -
    sorted sets(有序集合)类型的操作及操作

    • 添加元素:zadd key score(排序) value
  • 获取value-score : zrange key 0 -1 withscores
  • 删除名称未key的zset中的member zrem key value
  • 在名称为key的zset中已经存在元素member,则改元素在集合中添加 score 的值为increment: zincrby key score value
  • 从小到大返回member元素的排名: zrank key value
  • 从大到小返回member元素的排名:zrevrank key value
  • 返回名称为key的zset按照从大到小的所有元素:zrevrange key 0 -1 withscores
  • 返回集合中score在给定区间的元素:zrangebyscoe key start end withscores
  • 返回集合中score在给定区间的数量:zcount key start end
  • 返回给定元素对应的score:zscore key value
  • 删除集合中排名在给定区间的元素:zremrangebyrank key start end
  • 删除集合中score在给定区间的元素:zremrangebyscore key start end
  • -

键值相关命令


  • 返回所有的key: keys [*]
  • 确认key是否存在:exists key
  • 删除key: del key
  • 设置一个key的过期时间: expire addr time
  • 将当前数据库中的key转移到其他数据库中: move key
  • 选择库: select count(从0开始,用数字切换,eg:select 0)
  • 移除给定key的过期时间:persist key
  • 随机返回key空间的一个key: randomkey
  • 重命名: rename key newkey
  • 返回值的类型: type key
  • -

服务器相关命令


  • 测试是否连接存活: ping
  • 在命令行打印一些内容:echo value
  • 选择数据库:redis数据库编号从0~15:select value
  • 退出连接:quit
  • 返回数据库中key的数目: dbsize
  • 获取服务器的信息和统计:info
  • 实时转存接收到的请求:monitor
  • 获取服务配置信息:config get [*]
  • 删除当前选择数据库的所有key:flushdb

- 删除所有数据库中的所有key:flushall

./redis-server redis-conf 启动
客户端使用: ./reids-cli -p 端口号

猜你喜欢

转载自blog.csdn.net/qq_34898847/article/details/82631031
今日推荐