zoukankan      html  css  js  c++  java
  • redis的基本使用

    redis的基本使用

    数据类型

    redis支持多种数据类型,常用的是这5种
    image

    String常用指令

    • 设置/修改值(key存在则做添加,不存在则做修改)
      • set key value
    • 设置/修改值(有过期时间)
      • setex key time value
      • 例:setex key3 10 123,表示10秒后过期,key3的value由123变成nil
    • 设置值(若key不存在则做添加,存在则不做操作
      • setnx key value
      • 利用这一特性实现分布式锁
    • 取值
      • get key
    • 批量添加
      • mset k1 v1 [k2 v2 k3 v3 ...]
    • 批量取值
      • mget k1 [k2 k3 ...]
    • 在key对应的上实现value自增/自减(其value一般是数字)
      • incr key
      • decr key
    • 在key对应的value上实现加x/减x
      • incrby key x
      • decrby key x
    • 在指定的key对应的value拼接字符串
      • append key value
      • 例:若key1对应的value的值是“aaa”,则在append key1 bbb操作后,key1对应的value值是aaabbb
    • strlen key
      • 获取key对应的value值的长度

    Hash常用指令

    • 往key对应的hash中添加键值对
      • hset key field value
    • 往key对应的hash中添加键值对,如果field在hash中已经存在,则添加失败
      • hsetnx key field value
    • 从对应的key中获取对应的field的值
      • hget key field
    • 往对应的key中批量添加/获取键值对
      • hmset key f1 v1 [f2 v2 ...]
      • hmget key f1 v1 [f2 v2 ...]
    • key对应的field的value值加value
      • hincrby key field value
    • 获取key对应的hash中所有的键值对
      • hgetall key
    • 获取key对应的hash中所有的field
      • hkeys key
    • 获取key对应的hash中所有的value
      • hvals key
    • 检查key对应的hash中是否有指定的field
      • hexists key field
    • 获取key对应的hash中的键值对个数
      • hlen key

    List常用指令

    • 存储数据(从左往右添加数据/从右往左添加数据)
      • lpush key value
      • rpush key value
    • 获取数据
      • lpop key
      • rpop key
    • 修改key对应的列表中对应索引位置的数据(从左往右,从0开始计数)
      • lset key index value
    • 查看key对应列表中,索引从start到stop的数据
      • lrange key start stop
    • lindex key index
      • 查看key对应列表中指定索引处的值
    • 获取key对应列表中的元素个数
      • llen key
    • 截取key对应的列表中[start,stop]的值,不在此范围的数据会被清除
      • ltrim key start stop
    • 从k1右侧取出一个数据,存放到k2左侧
      • rpoplpush k1 k2

    Set常用指令(元素无序且不重复)

    • 存储元素,在key对应的集合中添加一个或多个元素
      • sadd key v1 [v2 v3 ...]
    • 遍历key对应集合中的所有元素
      • smembers key
    • 随机从key对应的集合中获取一个值(出栈)
      • spop key
    • 取两个集合的交集
      • sinter key1 key2
    • 取两个集合的并集
      • sunion key1 key2
    • 取两个集合的差集
      • sdiff key1 key2
    • 从key对应的集合中移除某元素
      • srem key value
    • 检查key对应的集合中是否有指定的value
      • sismember key value

    zset常用指令(元素有序且不重复)

    • 存储数据(score存储的位置必须是数值,可以是float类型的任意数字)
      • zadd key score1 member1 [score2 member2 ...]
    • 查看key对应的集合中索引[start,stop]中的数据(按照score值递增排序输出)
      • zrange key start stop
    • 查看member元素在key对应集合中的索引
      • zscore key member
    • 获取key对应的集合中的元素个数
      • zcard key
    • 获取key对应集合中,索引在[min,max]范围内的元素个数
      • zcount key min max
    • 移除元素member
      • zrem key member
    • 查看索引[start,stop]中的数据(按照score值递减排序输出)
      • zrevrange key start stop

    其他指令

    • 为有时间限制的键值对延长过期时间
      • expire key s
      • pexpire key ms
    • 查看指定key的剩余时限
      • ttl key
    • 选择数据库(默认进入的数据库是[0])
      • select number
      • 注:若进入了[1]数据库,则会显示image
    • 清除当前数据库的所有数据
      • flushdb
    • 清除所有数据库的所有数据
      • flushall
    • 查询上一次执行持久化的时间
      • lastsave
  • 相关阅读:
    【openwrt】——lua字符串操作
    Andriod绘图的基础知识
    protect,public,private 的区别
    fatjar 将项目使用的第三方jar包打包(亲测可用)
    TPshop学习(8)微信支付
    HTTP和HTTPS有什么区别? 什么是SSL证书?使用ssl证书优势?
    LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx
    腾讯云中ssL证书的配置安装
    微信小程序:微信登陆(ThinkPHP作后台)
    转载VC6LineNumberAddin 规格严格
  • 原文地址:https://www.cnblogs.com/whyblogs/p/15043990.html
Copyright © 2011-2022 走看看