zoukankan      html  css  js  c++  java
  • redis操作

    redis的操作

    redis的操作可以用两种方式,第一种方式采用redis-cli,第二种方式采用编程语言,比如PythonPHPJAVA等。详细的操作教程在:https://www.redis.net.cn/tutorial/3501.html。此处仅仅列举常用的操作。

    1. 使用redis-cliredis进行字符串操作:

    2. 启动redis

        sudo service redis-server start
      
    3. 连接上redis-server
        redis-cli -h [ip] -p [端口]
      
    4. 添加:

        set key value
        如:
        set username xiaotuo
      

      将字符串值value关联到key。如果key已经持有其他值,set命令就覆写旧值,无视其类型。并且默认的过期时间是永久,即永远不会过期。

    5. 删除:

        del key
        如:
        del username
      
    6. 设置过期时间:

        expire key timeout(单位为秒)
      

      也可以在设置值的时候,一同指定过期时间:

        set key value EX timeout
        或:
        setex key timeout value
      
    7. 查看过期时间:

        ttl key
        如:
        ttl username
      
    8. 查看当前redis中的所有key

        keys *
      
    9. 列表操作:

      • 在列表左边添加元素:

          lpush key value
        

        将值value插入到列表key的表头。如果key不存在,一个空列表会被创建并执行lpush操作。当key存在但不是列表类型时,将返回一个错误。

      • 在列表右边添加元素:

          rpush key value
        

        将值value插入到列表key的表尾。如果key不存在,一个空列表会被创建并执行RPUSH操作。当key存在但不是列表类型时,返回一个错误。

      • 查看列表中的元素:

          lrange key start stop
        

        返回列表key中指定区间内的元素,区间以偏移量startstop指定,如果要左边的第一个到最后的一个lrange key 0 -1

      • 移除列表中的元素:

        • 移除并返回列表key的头元素:
            lpop key
          
        • 移除并返回列表的尾元素:
          rpop key
          
        • 移除并返回列表key的中间元素:

            lrem key count value
          

          将删除key这个列表中,count个值为value的元素。

      • 指定返回第几个元素:

          lindex key index
        

        将返回key这个列表中,索引为index的这个元素。

      • 获取列表中的元素个数:

          llen key
          如:
          llen languages
        
      • 删除指定的元素:

          lrem key count value
          如:
          lrem languages 0 php
        

        根据参数 count 的值,移除列表中与参数 value 相等的元素。count的值可以是以下几种:

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

      • 添加元素:
          sadd set value1 value2....
          如:
          sadd team xiaotuo datuo
        
      • 查看元素:
          smembeers set
          如:
          smembers team
        
      • 移除元素:
          srem set member...
          如:
          srem team xiaotuo datuo
        
      • 查看集合中的元素个数:
          scard set
          如:
          scard team1
        
      • 获取多个集合的交集:
          sinter set1 set2
          如:
          sinter team1 team2
        
      • 获取多个集合的并集:
          sunion set1 set2
          如:
          sunion team1 team2
        
      • 获取多个集合的差集:
        sdiff set1 set2
        如:
        sdiff team1 team2
        
    11. hash哈希操作:

      • 添加一个新值:

          hset key field value
          如:
          hset website baidu baidu.com
        

        将哈希表key中的域field的值设为value
        如果key不存在,一个新的哈希表被创建并进行 HSET操作。如果域 field已经存在于哈希表中,旧值将被覆盖。

      • 获取哈希中的field对应的值:

          hget key field
          如:
          hget website baidu
        
      • 删除field中的某个field

          hdel key field
          如:
          hdel website baidu
        
      • 获取某个哈希中所有的fieldvalue

          hgetall key
          如:
          hgetall website
        
      • 获取某个哈希中所有的field

          hkeys key
          如:
          hkeys website
        
      • 获取某个哈希中所有的值:

        hvals key
        如:
        hvals website
        
      • 判断哈希中是否存在某个field

        hexists key field
        如:
        hexists website baidu
        
      • 获取哈希中总共的键值对:

        hlen field
        如:
        hlen website
        
    12. 事务操作:Redis事务可以一次执行多个命令,事务具有以下特征:

      • 隔离操作:事务中的所有命令都会序列化、按顺序地执行,不会被其他命令打扰。
      • 原子操作:事务中的命令要么全部被执行,要么全部都不执行。
      • 开启一个事务:

          multi
        

        以后执行的所有命令,都在这个事务中执行的。

      • 执行事务:

          exec
        

        会将在multiexec中的操作一并提交。

      • 取消事务:

          discard
        

        会将multi后的所有命令取消。

      • 监视一个或者多个key

          watch key...
        

        监视一个(或多个)key,如果在事务执行之前这个(或这些) key被其他命令所改动,那么事务将被打断。

      • 取消所有key的监视:

          unwatch
        
    13. 发布/订阅操作:

      • 给某个频道发布消息:
          publish channel message
        
      • 订阅某个频道的消息:
          subscribe channel
  • 相关阅读:
    python练习:正则表达式
    python练习:字典value值排序,key值排序
    python练习:字符串中的数字排序
    python练习:计算出字符串中每个字符出现的次数
    Jmeter3.1、Ant、Jenkins接口自动化平台配置
    Jmeter3.1、Ant、Jenkins接口自动化平台搭建步骤;所遇问题及解决方案
    Jmeter:实例(测试报告)
    Jmeter:实例(测试指标)
    Python with as 用法
    Python-报错UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illegal multibyte sequence
  • 原文地址:https://www.cnblogs.com/xshan/p/12236577.html
Copyright © 2011-2022 走看看