Redis(二)【操作命令】

启动方式:

  1)前台启动:./redis-server

  2)后台启动:./redis-server &

关闭方式:

  1)使用redis客户端关闭,向服务器关闭命令:./redis-cli shutdown(推荐,redis先完成现有的数据操作,再关闭)

  2)kill pid 或者 kill -9 pid(不考虑是由有数据正在操作,直接关闭。先使用ps -ef | grep redis查出进程号,再kill pid)

 

 指定IP和端口连接:./redis-cli -h 127.0.0.1 -p 6379

 

使用客户端连接Linux的Redis

  连接Linux的Redis之前需要修改Redis服务器的配置信息,Redis服务器有安全保护措施,默认只有本机能够访问

  配置信息存放在Redis安装目录下的redis.conf文件,使用vim修改文件中的两个配置:

    1)bind.ip 绑定ip此行注解

    2)protected-mode yes 保护模式改为no

    (用vim命令修改redis.conf文件,修改文件前备份此文件,执行cp命令)

  检查防火墙是否关闭:

    查看当前防火墙状态:systemctl status firewalld

    关闭当前防火墙:systemctl stop firewalld

    开机防火墙不启动:systemctl disable firewalld

 

  通过ifconfig指令找到Linux虚拟机的IP地址

 

 Redis基本操作命令

  1)沟通命令,查看状态

    输入ping,返回pong

 

 

   2)查看当前数据库中key的数目:dbsize

    先使用select选择使用哪个库,默认使用[0]

  3)redis默认使用16个库,可以在redis.conf配置文件中进行修改

 

 

 

Redis中Key的操作命令

  1)keys pattern:找出所有符合模式pattern的key,pattern可以使用通配符

    1.1)显示所有的key:keys *

    1.2)使用*表示0或多个字符:keys wo*d   ==>"word", "woood"

    1.3)使用?表示单个字符:keys wo?d ==>"word", "wood"

  2)exists key:判断key是否存在。

    输入单个key,存在返回1,其他返回0

    输入多个key,返回存在的key的数量

  3)expire key seconds:设置key的生成时间,超过时间key自动删除,单位为秒

    设置成功返回1,其他情况返回0

  4)ttl key:返回key的剩余生存时间,返回单位为秒

    返回数字即key的剩余时间

    返回-1表示没有设置key的生存时间,key永不过期

    返回-2表示key不存在

  5)type key:查看key所存储的数据的数据类型

    返回值为数据类型,包括:

      null:key不存在

      string:字符串类型

      list:列表

      set:集合

      zset:有序集

      hash:哈希表

  6)del key:删除存在的key

    返回值为删除的key的数量

 

Redis数据类型操作命令

  String字符串类型基本命令:

  1)set key value:将字符串value设置到key中

    向已经存在value的key设置新的value,会覆盖掉以前的value

  2)get key:获取key中设置的字符串值

  3)incr key:将key中存储的数字加1,如果key不存在,那么key不存在,那么先初始化key的值为0,再执行incr操作

    该操作只能对数字类型数据操作,否则会报error

 

 

   4)decr key:将key中存储的数字减1,其他与incr相同

    incr和decr主要运用在实现关注人数上以及文章点击数上等

  5)append key value:如果key存在,则将value追加到key原来旧值的末尾;如果key不存在,则将key设值为value

  6)strlen key:返回key所存储的字符串值得长度

    返回值:如果key存在则返回字符串值的长度,如果key不存在则返回0

  7)getrange key start end:获取key中字符串值从start开始到end结束的字符串,包括start和end,负数表示从字符串的末尾开始,-1表示最后一个字符

    位置从0开始,当数字为负时最后一位是-1,当范围取值超过字符串范围时,获取合理的子串

 

   8)setrange key offset value:用value覆盖(替换)key的存储的值从offset开始,不存在的key做空白字符串

    返回值:修改后的字符串长度

  9)mset key1 value2 key2 value2...:同时设置一个或多个key-value对

    设置成功后返回OK

 

   10)mget key1 key2...:同时获取一个或多个value

    不存在的返回(nil)

 

  hash:是一个一个String类型的field和value的映射表,hash特别适合存储对象

  hash的基本命令:

  1)hset hash表中的key field value:field-value即为hash值,被存放在表中的value

    如果field是hash表中新field,且设置成功,则返回1

    如果field已经存在,旧值覆盖新值,则返回0

  2)hget key field:获取哈希表key中的field对应的值

    返回对应的值,如果该field不存在,则返回(nil)

  3)hmset key field1 value1 field2 value2...:同时设置多个field-value,此命令会覆盖已经存在的field,hash表key如果不存在,则创建新的hash表

    设置成功则返回ok,失败返回错误

  4)hmget key field1 field2...:获取hash表key中一个或多个给定域的值

    返回和field顺序对应的值,如果field不存在,则返回(nil)

  5)hgetall key:获取hash表key中所有的field-value

    按条依次返回hash表key中的所有field-value,如果key不存在,返回空hash

  6)hdel key field1 field2...:删除hash表key中所有的field-value,不存在的field直接忽略

    返回成功删除的field的数量

  7)hkeys key:查看hash表key中所有的field

    返回包含所有 field 的列表,key 不存在返回空列表 

  8)hvals key:查看hash表key中所有的field所对应的value值,只返回value值

    返回原理同上

  9)hexists key field:查看hash表key中的field是否存在

    如果存在则返回1,如果不存在则返回0

 

  list:Redis 列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素导列表的头部(l)或者尾部(r)

  list的基本命令:

  1)lpush key value1 value2...:将一个或多个值 value 插入到列表 key 的表头(最左边),从左边开始加入值,从左到右的顺序依次插入到表头 

    返回值:数字,新列表的长度

 

     其在Redis Desktop Manager上面显示为

     其说明每一个元素都是依次从左边进行添加的

  2)rpush key value1 value2...:与lpush除了方向相反以外其他一个意思

  3)lrange key start stop:获取列表 key 中指定区间内的元素

    0 表示列表的第一个元素,start和stop是列表的下标值,也可以负数的下标, -1 表示列表的最后一 个元素

    start和stop超出列表的范围不会出现错误,会返回空列表

    返回值就是指定区间的列表 

 

     以上显示的是列表中的第二个值,这个和mysql里的limit是一个道理

  4)lindex key index:查看表中具体某下标的value值

    不存在的下标返回(nil)

  5)llen key:获取列表key的长度

    返回key的长度,如果不存在则返回0

  6)lrem key count value:根据参数 count 的值,移除列表中与参数 value 相等的元素

    count >0 ,从列表的左侧向右开始移除

    count < 0 从列表的尾部开始移除

    count = 0 移除表中所有 与 value 相等的值

 

   7)lset key index value::将列表 key 下标为 index 的元素的值设置为 value

 

 

     设置成功返回 ok ; key 不存在或者 index 超出范围返回错误信息 

  8)linsert key BEFORE|AFTER pivot value:将值 value 插入到列表 key 当中位于值 pivot 之前或之后的位置。key 不存在,pivot 不在列表中,则不执行任何操作

    :命令执行成功,返回新列表的长度。没有找到 pivot 返回 -1, key 不存在返回 0

 

  set:redis 的 Set 是 string 类型的无序集合,集合成员是唯一的,即集合中不能出现重复的数据 

  set基本命令:

  1)sadd key member1 member2...:将一个或多个 member 元素加入到集合 key 当中

    已经存在于集合的 member 元 素将被忽略,不会再加入。 

    返回加入到集合的新元素的个数,不包括被忽略的元素。

  2)smembers key:获取集合key中的所有成员元素

    不存在的key视为空集合,返回空集合提示

  3) sismember key member:判断member元素是否是集合key的成员

    member是集合成员返回1,否则返回0

  4)scard key:获取集合里面的元素个数

    返回个数,集合不存在等情况返回0

  5)srem key member1 member2...:删除集合key中的一个或者多个member元素,不存在的元素被忽略

    返回删除成功的个数,不包括被忽略的个数

  6)srandmember key count:只提供 key,随机返回集合中一个元素,元素不删除,依然在集合中;

    提供了 count 时,count 正数, 返回包含 count 个数元素的集合,集合元素各不相同。

    count 是负数, 返回一个 count 绝对值的长度的集合,集合中元素可能会重复多次。 

  7)spop key count:随机从集合中删除一个元素, count 是删除的元素个数

    返回被删除的元素,key不存在或空集合返回(nil)

 

  zset:有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员。

     不同的是 zset 的每个元素都会关联一个分数(分数可以重复),redis 通过分数来为集合中的 成员进行从小到大的排序。 

  zset的基本命令:

    1)zadd key score1 member1 score2 member2...:将一个或多个member元素及其score值加入到有序集合key中,如果member存在集合中,则更新值;score可以是整数或浮点数

      返回数字为新添加的元素个数

    2)zrange key start stop [WITHSCORES] :查询有序集合,指定区间的内的元素。

      集合成员按 score 值从小到大来排序。start, stop 都是从 0 开始。0 是第一个元素,1 是第二个元素,依次类推。以 -1 表示最后一 个成员,-2 表示倒数第二个成员。

      WITHSCORES 选项让 score 和 value 一同返回。 

 

   3)zrevrange key start stop [WITHSCORES] :返回有序集 key 中,指定区间内的成员。

    其中成员的位置按 score 值递减(从大到小)来排列。其它同 zrange 命令。 

  4)zrem key member1 member2:删除有序集合key中的一个或多个成员,不存在的成员被忽略

    返回被成功删除的成员个数,被忽略的不被计入以内

  5)zcard key:获取有序集合key的元素个数

    返回key的元素个数,key不存在返回0

  6)zrangebyscore key min max  [WITHSCORES ]  [LIMIT offset count] :

    获取有序集key中,所有score值介于min和max之间(包括min和max)的成员,有序成员是按递增(从小到大)排序

    min ,max是包括在内,使用符号( 表示不包括。 min,max 可以使用 -inf  ,+inf 表示最小和最大     

       limit 用来限制返回结果的数量和区间

    使用准备的数据

    显示指定区间的数据

     显示指定具体区间的集合数据,开区间(不包括 min,max) 

     显示整个集合的所有数据

     使用limit

    显示从第一个位置开始,取一个元素。  

    7)zrevrangebyscore  key  max  min  [WITHSCORES ]  [LIMIT offset count] :

    返回有序集key中,score值介于max和min之间(默认包括等于max或min)的所有的成员。有序集成员按score值递减(从大到小)的次序排列。

    其他同 zrangebyscore 

    8)zcount key min max:返回有序集key中,score值在min和max之间(默认包括score值等于min或max)的成员的数量 

 

 

 

  

 

posted @ 2020-05-27 18:56  Rhettttt  阅读(185)  评论(0)    收藏  举报