Redis 命令操作

  • 使用两种方式来操作

    1、使用redis-cli来操作curd(增删改查)

    2、使用php程序来操作curd(增删改查)在下一节提到

     

    一、使用redis-cli来操作curd(增删改查)

    启动 ./redis-service  redis.conf

    连接到redis

    ./redis-cli -h ip 地址 -p 端口

         1、对string 的curd(增删改查)

            添加:

              set key value(将字符串值value关联到key)

        如果key已经持有其他值,set就覆盖旧值,无视类型

           举例说明:

                   set name hello

    使用客户端对redis进行curd操作,这里我们需要使用到redis给我们提供的命令

    在redis中操作字符串string

    这里重点讲解如何对字符串进行curd操作

    [root@ugomi bin]# ./redis-cli 
    127.0.0.1:6379> set username liuyue
    OK
    127.0.0.1:6379> get username
    "liuyue"
    127.0.0.1:6379> get name
    "hello"
    127.0.0.1:6379> get
    (error) ERR wrong number of arguments for 'get' command
    127.0.0.1:6379> set name liuyue
    OK
    127.0.0.1:6379> get name
    "liuyue"
    127.0.0.1:6379> quit
    You have new mail in /var/spool/mail/root
    [root@ugomi bin]# ls
    redis-benchmark  redis-check-aof  redis-check-dump  redis-cli  redis-server
    [root@ugomi bin]# pwd
    /usr/local/redis/bin


       删除:

       del key(删除key-value)

       如:del name

      设置有效时间:

              expire key 时间值(按秒计算)

      如何查看某个key-value有多少时间

            ttl key

     如何查看当前redis中的所有key

         keys *

     

     

        概述:什么是list,list是一种数据库结构

         set(增加,修改)、get(获取)、del(删除)、keys(查看所有key)、expire(设置或修改有效时间)、ttl(返回某个key-value的有效时间)

    redis命令手册

    http://doc.redisfans.com/

    说明:

    redis指令不区分大小写,但是出于规范考虑,应该使用大写

     


     2、对list列表的curd操作,可以当做队列和栈来使用

      数据结构list,即在redis中操作list,这里重点讲解如何对list crud(增删改查)操作

         基本语法:

           LPUSH(将值value插入到列表key的表头)

       RPUSH(将值value插入到列表key的表尾)

       LPOP(移除并返回列表key的头元素)

       RPOP(移除并返回列表key的尾元素)

       Lrange(返回列表key中指定区间内的元素)

       LINDEX(可以指定返回第几个元素)

         添加:

            在list前面(左边)加

          LPUSH

    LPUSH key value [value ...]

    将一个或多个值 value 插入到列表 key 的表头

    如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表头: 比如说,对空列表 mylist 执行命令 LPUSH mylist a b c ,列表的值将是 c b a ,这等同于原子性地执行 LPUSH mylist a 、 LPUSH mylist b 和 LPUSH mylist c 三个命令。

    如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。

    当 key 存在但不是列表类型时,返回一个错误

    举例说明:

    127.0.0.1:6379> lpush ticketline "lishan"
    (integer) 1
    127.0.0.1:6379> lpush ticketline "zhanghsi"
    (integer) 2
    127.0.0.1:6379> lpush ticketline "zddds"
    (integer) 3
    127.0.0.1:6379> keys *
    1) "name1"
    2) "ticketline"
    3) "username"
    127.0.0.1:6379> lrange keys*
    (error) ERR wrong number of arguments for 'lrange' command
    127.0.0.1:6379> lrange key 0 3
    (empty list or set)
    127.0.0.1:6379> lrange ticketline 0 -1
    1) "zddds"
    2) "zhanghsi"
    3) "lishan"
    127.0.0.1:6379> del ticketline
    (integer) 1
    127.0.0.1:6379> lrange ticketline 0 -1
    (empty list or set)



    RPUSH

     

    RPUSH key value [value ...]

    将一个或多个值 value 插入到列表 key 的表尾(最右边)。

    如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表尾:比如对一个空列表 mylist 执行 RPUSH mylist a b c ,得出的结果列表为 a b c ,等同于执行命令 RPUSH mylist a 、 RPUSH mylist b 、 RPUSH mylist c 。

    如果 key 不存在,一个空列表会被创建并执行 RPUSH 操作。

    当 key 存在但不是列表类型时,返回一个错误。

     

    127.0.0.1:6379> rpush ticketline "liming"
    (integer) 1
    127.0.0.1:6379> rpush ticketline "zhangsan"
    (integer) 2
    127.0.0.1:6379> rpush ticketline "lisi"
    (integer) 3
    127.0.0.1:6379> lrange ticketline 0 -1
    1) "liming"
    2) "zhangsan"
    3) "lisi"
    127.0.0.1:6379> keys *
    1) "name1"
    2) "ticketline"
    3) "username"



          

    LINDEX

    LINDEX key index

    返回列表 key 中,下标为 index 的元素。

    下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。

    你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

    如果 key 不是列表类型,返回一个错误。

     

    LREM

     

    LREM key count value

    根据参数 count 的值,移除列表中与参数 value 相等的元素。

    count 的值可以是以下几种:

    • count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。
    • count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。
    • count = 0 : 移除表中所有与 value 相等的值。

     

     

     

    3、set集合操作

        SADD

    SADD key member [member ...]

    将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。

    假如 key 不存在,则创建一个只包含 member 元素作成员的集合。

    当 key 不是集合类型时,返回一个错误。

    如:

     

    127.0.0.1:6379> SADD bbs "hello word"
    (integer) 1
    127.0.0.1:6379> SADD bbs "test1"
    (integer) 1
    127.0.0.1:6379> SADD bbs "test2"
    (integer) 1
    127.0.0.1:6379> SMEMBERS bbs
    1) "test2"
    2) "test1"
    3) "hello word"


    SREM

     

    SREM key member [member ...]

    移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。

    当 key 不是集合类型,返回一个错误。

     

    127.0.0.1:6379> SMEMBERS bbs
    1) "test2"
    2) "test1"
    3) "hello word"
    127.0.0.1:6379> SREM bbs "hello word"
    (integer) 1
    127.0.0.1:6379> SMEMBERS bbs
    1) "test2"
    2) "test1"


     

    SDIFF

     

    SDIFF key [key ...]

    返回一个集合的全部成员,该集合是所有给定集合之间的差集。

    不存在的 key 被视为空集。

     

    127.0.0.1:6379> SMEMBERS bbs
    1) "test2"
    2) "test1"
    127.0.0.1:6379> SDIFF test bbs
    1) "test"
    2) "test3"
    3) "test4"


     

    SMOVE

    SMOVE source destination member

    将 member 元素从 source 集合移动到 destination 集合。

    SMOVE 是原子性操作。

    如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操作,仅返回 0 。否则, member 元素从 source 集合中被移除,并添加到 destination 集合中去。

    当 destination 集合已经包含 member 元素时, SMOVE 命令只是简单地将 source 集合中的 member 元素删除。

    当 source 或 destination 不是集合类型时,返回一个错误。

     

    127.0.0.1:6379> SMEMBERS word
    (empty list or set)
    127.0.0.1:6379> SMEMBERS hao
    1) "test2"
    2) "test1"
    3) "hello word"
    127.0.0.1:6379> SMOVE hao word "hello word"
    (integer) 1
    127.0.0.1:6379> SMEMBERS hao
    1) "test2"
    2) "test1"


    SCARD

    SCARD key

    返回集合 key 的基数(集合中元素的数量)。

     127.0.0.1:6379> SMEMBERS word
    1) "test1"
    2) "hello word"
    127.0.0.1:6379> SMEMBERS word
    1) "test1"
    2) "hello word"
    127.0.0.1:6379> SCARD word
    (integer) 2


     

    SISMEMBER

    SISMEMBER key member

    判断 member 元素是否集合 key 的成员。

     

    127.0.0.1:6379> SMEMBERS word
    1) "test1"
    2) "hello word"
    127.0.0.1:6379> SCARD word
    (integer) 2
    127.0.0.1:6379> SISMEMBER word test
    (integer) 0
    127.0.0.1:6379> SISMEMBER word test1
    (integer) 1
    127.0.0.1:6379> 



     

    以上是讲的redis部分命令操作,如果想学习更多的命令可参考redis手册

    http://doc.redisfans.com 进行学习

 

 

 

 

 

 

 


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值