• Redis常用命令


    管理命令

    1、启动
    Redis默认端口号6379
    redis-server [--port 6379]
    redis-server redis.conf
    2、停止
    redis-cli shutdown
    kill redis-pid
    3、测试连通性
    127.0.0.1:6379> ping
    PONG
    4、连接
    ./redis-cli [-h 127.0.0.1 -p 6379]
    5、认证
    auth 密码

    库操作

    1、进入库
    select 3
    2、获取键总数
    dbsize
    3、获取所有键
    keys *
    4、清空当前选中的数据库
    flushdb
    5、清空所有数据库
    flushall
    key操作命令
    1、查询键是否存在
    语法:exists key [key ...]
    示例:exists zhangsan
    2、删除键
    语法:del key [key ...]
    示例:del zhangsan
    3、查询键类型
    语法: type key
    示例:type zhangsan
    4、移动键
    语法:move key db
    示例:move zhangsan 2
    5、查询key的生命周期(秒)
    1)秒语法:ttl key
    2)毫秒语法:pttl key
    -1:永远不过期。
    示例:ttl zhangsan
    6、设置过期时间
    1)秒语法:expire key seconds
    2)毫秒语法:pexpire key milliseconds
    7、设置永不过期
    语法:persist key
    8、更改键名称
    语法:rename key newkey

    字符串操作命令

    1、存放键值
    语法:set key value [EX seconds] [PX milliseconds] [NX|XX]
    示例:set zhangsan 2
    2、获取键值
    语法:get key
    示例:get zhangsan
    3、值递增/递减
    如果字符串中的值是数字类型的,可以使用incr命令每次递增,不是数字类型则报错。
    语法:incr key
    示例:incr zhangsan
    4、批量存放键值
    语法:mset key value [key value ...]
    示例:mset zhangsan 3 lisi 4
    5、批量获取键值
    语法:mget key [key ...]
    示例:mget zhangsan lisi
    6、获取值长度
    Redis接收的是UTF-8的编码,如果是中文一个汉字将占3位返回。
    语法:strlen key
    示例:strlen zhangsan
    7、追加内容
    语法:append key value
    示例:append zhangsan 666
    8、获取部分字符
    语法:getrange key start end
    示例:getrange zhangsan 0 4

    集合操作命令

    1、存储值
    语法:sadd key member [member ...]
    示例:sadd langs java php c++ go ruby python kotlin java
    2、获取元素
    1)获取所有元素
    语法:smembers key
    示例:smembers langs
    2)随机获取
    语法:srandmember langs count
    示例:srandmember langs 3
    3、判断集合是否存在元素
    语法:sismember key member
    示例:sismember langs go
    4、获取集合元素个数
    语法:scard key
    示例:scard langs
    5、删除集合元素
    语法:srem key member [member ...]
    示例:srem langs ruby kotlin
    6、弹出元素
    语法:spop key [count]
    示例:spop langs 2

    有序集合

    和列表的区别:
    1. 列表使用链表实现,两头快,中间慢。有序集合是散列表和跳跃表实现的,即使读取中间的元素也比较快。
    2. 列表不能调整元素位置,有序集合能。
    3. 有序集合比列表更占内存。
    1、存储值
    语法:zadd key [NX|XX] [CH] [INCR] score member [score member ...]
    示例:zadd footCounts 16011 tid 20082 huny 2893 nosy
    2、获取元素分数
    语法:zscore key member
    示例:zscore footCounts tid
    3、获取排名范围排名
    语法:zrange key start stop [WITHSCORES]
    1)获取所有,没有分数
    zrange footCounts 0 -1
    2)获取所有及分数
    zrange footCounts 0 -1 Withscores
    4、获取指定分数范围排名
    语法:zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
    示例:zrangebyscore footCounts 3000 30000 withscores limit 0 1
    5、增加指定元素分数
    语法:zincrby key increment member
    示例:zincrby footCounts 2000 tid
    6、获取集合元素个数
    语法:zcard key
    示例:zcard footCounts
    7、获取指定范围分数个数
    语法:zcount key min max
    示例:zcount footCounts 2000 20000
    8、删除指定元素
    语法:zrem key member [member ...]
    示例:zrem footCounts huny
    9、获取元素排名
    语法:zrank key member
    示例:zrank footCounts tid

    列表操作命令

    列表类型是一个有序的字段串列表,内部是使用双向链表实现,所有可以向两端操作元素,获取两端的数据速度快,通过索引到具体的行数比较慢。
    列表类型的元素是有序且可以重复的。
    1、存储值
    1)左端存值
    语法:lpush key value [value ...]
    示例:lpush list lily sandy
    2)右端存值
    语法:rpush key value [value ...]
    示例:rpush list tom kitty
    3)索引存值
    语法:lset key index value
    示例:lset list 3 uto
    2、弹出元素
    1)左端弹出
    语法:lpop key
    示例:lpop list
    2)右端弹出
    语法:rpop key
    示例:rpop list
    3、获取元素个数
    语法:llen key
    示例:llen list
    4、获取列表元素
    1)两边获取
    语法:lrange key start stop
    示例:lrange users 0 3
    2)获取所有
    示例:lrange users 0 -1
    3)从右端索引
    示例:lrange users -3 -1
    5、索引获取
    1)语法:lindex key index
    示例:lindex list 2
    2)从右端获取
    示例:lindex list -5
    6、删除元素
    1)根据值删除
    语法:lrem key count value
    示例:塞入元素 lpush userids 111 222 111 222 222 333 222 222
    2)count=0 删除所有111
    示例:lrem userids 0 111
     3count > 0 从左端删除前count个222
    示例:lrem userids 3 222
    4)count < 0 从右端删除前count个222
    示例:lrem userids -3 222
    7、范围删除
    语法:ltrim key start stop
    示例:ltrim list 2 4

    散列操作命令

    1、存放键值
    1)单个
    语法:hset key field value
    示例:hset user name javastack
    2)多个
    语法:hmset key field value [field value ...]
    示例:hmset user name javastack age 20 address china
    3)不存在时
    语法:hsetnx key field value
    示例:hsetnx user tall 180
    2、获取字段值
    1)单个
    语法:hget key field
    示例:hget user age
    2)多个
    语法:hmget key field [field ...]
    示例:hmget user name age address
    3、获取所有键与值
    语法:hgetall key
    示例:hgetall user
    4、获取所有字段
    语法:hkeys key
    示例:hkeys user
    5、获取所有值
    语法:hvals key
    示例:hvals user
    6、判断字段是否存在
    语法:hexists key field
    示例:hexists user address
    7、获取字段数量
    语法:hlen key
    示例:hlen user
    8、递增/减
    语法:hincrby key field increment
    示例:hincrby user tall -10
    9、删除字段
    语法:hdel key field [field ...]
    示例:hdel user age



  • 相关阅读:
    大厂面试高频Redis,记不住的多操作几次吧
    自动化测试系列之jenkins配置搭建环境
    关于linux服务器的磁盘监控的相关知识
    前端常见一些安全问题及解决方案
    如何使用PM2部署前端项目
    vuex状态管理器本地持久化
    关于在Vue中Typescript的写法
    websocket快速重连机制
    如何使用selenium打开多个浏览器
    运维人员踩坑记录之netplan遇坑,配置临时IP巧妙解决
  • 原文地址:https://www.cnblogs.com/brewin/p/16253848.html
Copyright © 2020-2023  润新知