redis基本操作命令key命令+string命令+事务操作命令

key命令

  • 注:Redis是一个key-value的键值对的内存数据库。最基本的一些操作就是对这些key的操作。

  • DEL

  • 删除Key, del key1 key2

  • EXISTS

  • 检查key是否存在, EXISTS key

  • EXPIRE

  • 设置或者更新到期时间,到期后自动清除,单位秒 设置为-1表示永不过期。 EXPIRE key

  • PERSIST

  • 移除过期时间,key永久保存。其实就是过期时间设置为-1,永不过期

  • PTTL

  • 以毫秒为单位返回key剩余的过期时间。

  • TTL

  • 以秒为单位,返回给定key的剩余生存时间。

  • EXPIREAT

  • 设置key的过期时间,不过设置的是时间戳。

  • PEXPIRE

  • 设置key的过期时间,不过是毫秒单位。

  • PEXPIREAT

  • 设置key的过期时间,不过是时间戳,以毫秒统计。

  • KEYS pattern

  • 查找匹配给定模式pattern的所有key。

  • KEYS * 匹配数据库中所有 key 。

  • KEYS h?llo 匹配 hello , hallo 和 hxllo 等。

  • KEYS h*llo 匹配 hllo 和 heeeeello 等。

  • KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。

  • 特殊符号用 \ 隔开

  • MOVE key db

  • 把指定的key移动到数据库db中。(默认的redis有16个数据库)

  • SELECT index

  • 切换数据库(redis默认16个数据库 编号从0开始)

  • RANDOMKEY

  • 随机获取一个key

  • RENAME key newkey

  • 修改key名字。如果newkey已经存在,则删除newkey。

  • RENAMENX key newkey

  • 仅当newkey不存在时,将key改名为newkey。

  • TYPE key

  • 返回key的类型

string命令

  • GET

  • 获取

  • MGET

  • 获取多个

  • SET

  • 设置(新增 修改)

  • MSET

  • 设置一个

  • GETRANGE (加下标)

  • 获取范围段

  • 比如一个value是 qwertyuiop

  • 正序 倒序两种情况。

  • getrange key 0 4 (qwert)

  • getrange key -1 -5 (yuiop)

  • getrange key 0 -1 (qwertyuiop)


  • q w e r t y u i o p

  • 0 1 2 3 4 5 6 7 8 9

  • -10 -9 -8 -7 -6 -5 -4 -3 -2 -1


  • GETSET (获取当前key值设置新key值)

  • 设置一个值,然后在返回原来老值。

  • SETEX key seconds value

  • 设置一个key,并制定他的过期时间,单位秒

  • PSETEX key milliseconds value

  • 设置一个key,并制定他的过期时间,单位毫秒

  • SETNX

  • 只有在KEY不存在时设置value。就是新增一个(不包含更新)。

  • MSETNX

  • 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。

  • APPEND key value 添加到value尾部

  • 追加到末尾。

  • STRLEN key

  • 长度

  • INCR key 把value自增 类似i++

  • 把key中的数字值增加1

  • INCRBY key increment 设置步长, incrby age 10 把age加10

  • 将key所存储的值增加一定数量。

  • INCRBYFLOAT key increment

  • 增加一定的浮点数。

  • DECR key 自减

  • 将key存储数字键1

  • DECRBY key decrement 自减设置步长

  • 减去给你的减量值

事务

事务不具有原子性。单条命令行具有原子性。
redis事物简介(锁事物)

redis中把事务把所有命令序列化 放入队列缓存 然后按顺序执行,事务执行过程中不会接受其他命令执行。

事务执行过程

开始事物

命令队列

执行事务

MULTI

标记一个事务块的开始。
事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。

EXEC

执行所有事务块内的命令。
假如某个(或某些) key 正处于 WATCH 命令的监视之下,且事务块中有和这个(或这些) key 相关的命令,那么 EXEC 命令只在这个(或这些) key 没有被其他命令所改动的情况下执行并生效,否则该事务被打断(abort)。(所有受监控的键都没有被修改时,才会执行事务)

编译错误 一个队列内都不执行 ; 运行错误 错误的命令不执行

等等补充

posted @ 2021-07-20 10:42  少昊  阅读(131)  评论(1)    收藏  举报