开发者

redis-cli常用命令使用详解

目录
  • 1 Redis-cli连接redis服务
  • 补充:redis运维常用命令
    • 查看redis版本信息
    • 查看服务所有[部分]信息
  • 2 redis库相关命令
    • 3 redis key相关命令
      • 4 redis 字符串相关命令
        • 5 redis 列表相关命令
          • 6 redis 集合相关命令
            • 7 redis 哈希相关命令
              • 8 redis 有序集合(Zset)相关命令
                • 总结

                  1 redis-cli连接redis服务

                  1.1 无密码本地登录

                  redis-cli
                  
                  redis 127.0.0.1:6379>
                  redis 127.0.0.1www.devze.com:6379> PING
                  PONG

                  1.2 指定ip、端口、密码

                  redis-cli -h [ip] -p [port] -a [pwd]

                  1.3 指定ip、端口、密码并清理redis缓存

                  redis-cli -h [ip] -p [port] -a [pwd] flushall

                  1.4 指定ip、端口、密码、数据库

                  redis-cli -h [ip] -p [port] -a [pwd] -n [db_number]

                  1.5 shell连接redis

                  #!/bin/bash
                  Num=`seq 1 1000`
                  for i in ${Num};do 
                  	redis-cli -h 127.0.0.1 set key-${i} value-${i}
                  done
                  jsecho "1000个key-value已经写入redis"
                  
                  
                  
                  //脚本执行完后,可以查看
                  redis-cli
                  >>get key-100

                  补充:redis运维常用命令

                  查看redis版本信息

                  # 等同于/usr/local/redis/src/redis-server -v
                  [root@iZ8vbdcrmm49bxv7sirrv3Z ~]# /usr/local/redis/src/redis-server --version
                  Redis server v=5.0.3 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=c72a455fc0d699b

                  或者客户端输入:info server

                  127.0.0.1:6379> info server
                  # Server
                  redis_version:5.0.3
                  redis_git_sha1:00000000
                  redis_git_dirty:0
                  redis_build_id:c72a4523c0d699b
                  redis_mode:standalone
                  os:linux 3.10.0-957.21.3.el7.x86_64 x86_64
                  arch_bits:64
                  multiplexing_api:epoll
                  atomicvar_api:atomic-builtin
                  gcc_version:4.8.5
                  process_id:2006
                  run_id:0e16bcb89d8eb05b95d2b127d4b98178e76c86fd
                  tcp_port:7501
                  uptime_in_seconds:6317102
                  uptime_in_days:73
                  hz:10
                  configured_hz:10
                  lru_clock:16174420
                  executable:/usr/local/redis/src/redis-server
                  config_file:/usr/local/redis/src/redis.conf
                  ......

                  查看服务所有[部分]信息

                  使用info [section]查看

                  • 查看所有信息
                  127.0.0.1:6379> info
                  • 查看具体信息
                  服务器信息
                  127.0.0.1:6379> info server
                  持久化信息
                  127.0.0.1:6379> info persistence

                  2 redis库相关命令

                  切换到1号库;redis有16个初始化库,编号0到15,默认使用0号库
                  select 1
                  
                  如果需要验证
                  auth [passworlHaLlApqHd]
                  
                  查看当前库的key的数量
                  dbsize
                  
                  删除当前库的全部数据
                  flushdb
                  
                  删除所有库的全部数据
                  flushall

                  3 redis key相关命令

                  对key有操作的命令,统一返回值都是1或者0,成功为1,失败为0

                  查看当前库的全部key
                  keys *
                  
                  判断某个key是否存在,存在返回1,不存在返回0
                  exists [key]
                  
                  查看某个key的类型,如果key不存在,则返回none
                  type [key]
                  
                  删除指定的key数据,成功返回1,失败返回0
                  del [key]
                  
                  根据value选择非阻塞删除,仅将keys从keyspace元数据中删除,真正的删除后在后续异步操作
                  unlink [key]
                  
                  查看某个key的过期时间,单位(秒),-1表示永不过期,-2表示已经过期
                  ttl [key]
                  
                  给指定的key设置过期时间,单位(秒)
                  expire [key] 10

                  4 redis 字符串相关命令

                  • set <key> <value>:添加一条数据 例如set k1 v1,添加key为k1,值为v1的数据
                  • get <key>:得到某个key的数据,例如get k1,得到key为k1的值
                  • append <key> <value>:将给定的value,追加到某key的原值的末尾,返回追加后的字符长度
                  • strlen <key>:查询某key的值的长度
                  • setnx <key> <value>:当key不存在的时候,才能添加成功,当key存在的时候,不能添加
                  • incr <key>:将某个key的值,数字增加1,仅仅对数字起作用,如果为空,新增值为1
                  • decr <key>:将某个key的值,数字减少1,仅仅对数字起作用,如果为空,新增值为-1
                  • incrby/decrby <key> <步长>:将key中储存的数字值增减,自定义步长
                  • mset <key1> <value1> <key2> <value2>:批量添加
                  • mget <key1> <key2>:批量取值
                  • msetnx <key1> <value1> <key2> <value2>:批量添加,当且仅当所有的key都不存在(因为原子性,一个失败则都失败)
                  • getrange <key> <起始位置> <结束位置>:获取某个key值的范围,getrange k1 0 2,包含0位置的元素,和2位置的元素
                  • setex <key> <过期时间> <value>:设置键值的同时设置过期时间(单位秒)
                  • getset <key> <value>:设置新值,并返回旧值

                  5 redis 列表相关命令

                  • lpush/rpush <key> <value1> <value2> <value3>:从左边,或者右边添加数据
                  • lpop/rpop <key>:从左边,或者右边取出一个值,列表里这个值就不存在了
                  • rpoplpush <key1> <key2>:从key1的右边取一个值,添加在key2的左边
                  • lrange  <key> <起始位置> <结束位置>:按照索引下角标得到元素(从左往右),当结束为值为-1时,代表得到多有,这个值还在列表中
                  • lindex <key> <index>:按照索引,从左往右获得对应的值
                  • llen <key>:获得列表长度
                  • linsert <key> before/after <value> <newVlaue>: 在某个key下的某个值的前面/后面添加一个新的值
                  • lrem <key> <n> <value>:删除某个key下,删除n个值为value的数据
                  • lset <key> <index> <value>:将某个key下的某个下角标的值换成给定的值

                  6 redis 集合相关命令

                  • sadd <key> <value1> <value2> <value3>:添加数据,如果值已经存在,忽略该值
                  • smembers <key>:得到集合中所有的值
                  • sismember <key> <value> :判断某个key中是否存在value,存在返回1,不存在返回0 scard  <key>:返回集合的元素个数
                  • srem <key> <value1> <value2>:删除某个key中的某些元素
                  • spop <key>:从key中随机取出一个值,如果值没了,那么key就不在了
                  • srandmember <key> <n>:从某个key中,取出n个值,不会从集合中删除
                  • smove <key1>  <key2> <value>:把集合中的一个值移动到另一个集合
                  • sinter <key1>  <key2>:取两个集合的交集 
                  • sunion <key1>  <key2>:取两个集合的并集 
                  • sdiff <key1>  &lphpt;key2>:取两个集合的差集(在key1中的,不在key2中的)

                  7 redis 哈希相关命令

                  • hset  <key> <field> <value>:给某个key哈希表中的field键复制为value
                  • hget <key> <field> :得到某个key哈希表中某个field的值
                  • hmset <key> <field1> <value1> <field2> <value2>:批量加数据
                  • hexists <key> <field1>:某个key哈希表中某个field是否存在
                  • hkeys <key> :查看某个key哈希表中的全部field
                  • hvals <key>:查看某个key哈希表中的全部value
                  • hincrby  <key> <field> <increment>:为某个key的哈希表中的某个field键的值加上响应的增量
                  • hsetnx  <key> <field> <value>:某个key哈希表中的field键复制为value,当且仅当key不存在的时候成功

                  8 redis 有序集合(Zset)相关命令

                  • zadd  <key> <score1> <value1><score2> <value2>:添加以一个过着多个元素,score为评分,集合按照从低到高及进行排序,评分可以重复
                  • zrange <key> <start> <end> \[withscores\]:查一定范围的元素,end为-1时,查询所有,withscores加上他,连着评分一起查出
                  • zrangebyscore <key> <min>编程 <max> \[withscores\]:查询score评分在某个范围内的数据,从小到大排序
                  • zrevrangebyscore  <key> <max> <min> \[withscores\]:查询score评分在某个范围内的数据,从大到小排序
                  • zincrby  <key> <increment> <value>:为元素的score加上指定的增量
                  • zrem <key> <value>:删除数据
                  • zcount <key> <min> <max>:统计score评分在某个范围内的数据的数量
                  • zrank  <key> <value>:返回集合中的排序,排序从0开始

                  总结

                  以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

                  0

                  上一篇:

                  下一篇:

                  精彩评论

                  暂无评论...
                  验证码 换一张
                  取 消

                  最新数据库

                  数据库排行榜