zoukankan      html  css  js  c++  java
  • redis学习01--常用命令

    1.Redis存储数据的结构

    常用的5种数据结构

    (1)key-string:一个key对于一个值

    (2)key-hash:一个key对应一个Map

    (3)key-list:一个key对应一个列表

    (4)key-set:一个key对应一个集合

    (5)key-zset:一个key对应一个有序的集合

    另外三种数据结构:

    HyperLogLog:计算近似值

    GEO:地理位置

    BIT:位图,一般存储的也是一个字符串,存储的是一个byte[]

    2.string常用命令

    文档:http://redisdoc.com/string/index.html#

     1 # 1、添加值
     2 set key value
     3 
     4 #2、取值
     5 get key
     6 
     7 #3、批量操作
     8 mset key value [key value...]
     9 mget key [key...]
    10 #4、自增命令(自增1)
    11 incr key
    12 
    13 #5、自减命令(自减1)
    14 decr key
    15 
    16 #6、自增或自减指定数量
    17 incrby key increment
    18 decrby key increment
    19 #7、设置值的同时设置生存时间(每次向redis中添加数据时,尽量都设置生存时间)
    20 setex key second value
    21 
    22 #8、设置值,如果当前key不存在的话(如果这个key存在,什么事都不做,如果这个key不存在,和set命令一样)
    23 setnx key value
    24 
    25 #9、在key对应的value后,追加内容
    26 append key value
    27 
    28 #10、查看value字符串的长度
    29 strlen key

    3.hash常用命令

     1 #1、存储数据
     2 hset key field value
     3 
     4 #2、获取数据
     5 hget key field
     6 
     7 #3、批量操作
     8 hmset key field value [field value ...]
     9 hmget key field [field ...]
    10 #4、自增(指定自增的值)
    11 hincrby key field increment
    12 #5、设置值(如果key-field不存在,那么就正常添加,如果存在,什么事都不做)
    13 hsetnx key field value
    14 
    15 #6、检查field是否存在
    16 hexists key field
    17 
    18 #7、删除key对应的某个或多个field
    19 hdel key field [field...]
    20 #8、获取当前hash结构中的全部field和value
    21 hgetall key
    22 
    23 #9、获取当前hash结构中的全部field
    24 hkeys key
    25 
    26 #10、获取当前hash结构中的全部value
    27 hvals key
    28 
    29 #11、获取当前hash结构中field的数量
    30 hlen key

    4.list常用命令

     1 #1、存储数据(从左侧插入数据,从右侧插入数据)
     2 lpush key value [value...]
     3 rpush key value [value...]
     4 
     5 #2、存储数据(如果key不存在,什么事都不做,如果key存在,但是不是list机构,什么都不做)
     6 lpushx key value
     7 rpushx key value
     8 
     9 #3、修改数据(修改指定索引位置的值,如果index超出整个列表的长度会失败)
    10 lset key index value
    11 #4、弹栈方式获取数据(左侧/右侧弹出数据)
    12 lpop key
    13 rpop key
    14 
    15 #5、获取指定索引范围的数据(start从0开始,stop输入-1,代表最后一个,-2代表倒数第二部)
    16 lrange key start stop
    17 
    18 #6、获取指定索引位置的数据
    19 lindex key index
    20 
    21 #7、获取整个列表的长度
    22 llen key
    23 #8、删除列表中的数据(他是删除当前列表中的count个value值,count>0从左侧向右侧删除,count<0从右侧向左侧删除),count=0,删除列表全部的value
    24 lrem key count value
    25 
    26 #9、保留列表中的数据(保留指定范围内的数据,超过整个索引范围被移除掉)
    27 ltrim key start stop
    28 
    29 #10、将一个列表中最后的一个数据,插入到另外一个列表的头部位置
    30 rpoplpush list1 list2

    5.set常用命令

     1 #1、存储数据
     2 sadd key member [member...]
     3 
     4 #2、获取数据(获取全部数据)
     5 smembers key
     6 
     7 #3、随机获取一个数据(获取的同时移除数据,count默认为1,代表弹出数据的数量)
     8 spop key [count]
     9 #4、交集(取多个set集合交集)
    10 sinter set1 set2...
    11 
    12 #5、并集(获取全部集合中的数据)
    13 sunion set1 set2...
    14 
    15 #6、差集(获取多个集合中不一样的数据,使用第一个集合进行取进行比较)
    16 sdiff set1 set2...
    17 #7、删除数据
    18 srem key member [member...]
    19 
    20 #8、查看当前的set集合中是否包含这个值
    21 sismember key member

    6.zset常用命令

     1 #1、添加数据(score必须是数值,member不允许重复)
     2 zadd key score member [score member...]
     3 
     4 #2、修改member的分数、(如果member是存在于key中的,正常增加分数,如果member不存在,这个命令相当于zadd)
     5 zincrby key increment member
     6 #3、查看指定的member的分数
     7 zscore key member
     8 
     9 #4、获取zset中数据的数量
    10 zcard key
    11 
    12 #5、根据score的范围查询member数量
    13 zcount key min max
    14 
    15 #6、删除zset中的成员
    16 zrem key member [member...]
    17 #7、根据分数从小到大排序,获取指定范围内的数据(withscores如果添加这个参数,那么会返回member对应的分数)
    18 zrange key start stop [withscores]
    19 
    20 #8、根据分数从大到小排序,获取指定范围内的数据(withscores如果添加这个参数,那么会返回member对应的分数)
    21 zrevrenge key start stop [withscores]
    22 
    23 #9、根据分数的范围获取member(withscores代表同时返回score,添加limit,就和MySQL中一样,如果不希望等于min或者max的值被查询出来,可以采用‘(分数’ 相当于<或者>,但不等于,是一个开区间,最大值和最小值使用+inf和-inf来标识)
    24 zrangebyscore key min max [withsores] [limit offset count]
    25 
    26 #10、根据分数的范围获取member(withscores代表同时返回score,添加limit,就和MySQL中一样)
    27 zrevrangebyscore key max min [withsores] [limit offset count]

    7.key常用命令

     1 #1、查看Redis中的全部key(pattern:*,xxx*,*xxx)
     2 keys pattern
     3 
     4 #2、查看某一个key是否存在(1 - key存在,0 - key不存在)
     5 exists key
     6 
     7 #3、删除key
     8 del key [key...]
     9 #4、设置key的生存时间,单位为秒,单位为毫秒.
    10 expire key second
    11 pexpire key milliseconds
    12 
    13 #5、设置key的生存时间,单位为秒,单位为毫秒,设置能活到什么时间点
    14 expireat key timestamp
    15 pexpireat key milliseconds
    16 
    17 #6、查看key的剩余生存时间,单位为秒,单位为毫秒(-2 - 当前key不存在;-1 - 当前key没有设置生存时间;具体的生存时间)
    18 ttl key
    19 pttl key
    20 
    21 #7、移除key的生存时间(1 - 移除成功,0 - key不存在生存时间,key不存在)
    22 persist key
    23 #8、选择操作的库
    24 select 0~15
    25 
    26 #9、移动key到另外一个库中
    27 move key db

    8.库常用命令

     1 #1、清空当前所在的数据库
     2 flushdb
     3 
     4 #2、清空全部数据库
     5 flushall
     6 
     7 #3、查看当前数据库中有多少个key
     8 dbsize
     9 
    10 #4、查看随后一次操作的时间
    11 lastsave
    12 
    13 #5、实时监控Redis服务接收到的命令
    14 monitor
  • 相关阅读:
    适配器模式
    控制器的显示注入
    自定义过滤器
    配置路由
    JavaScript判断浏览器类型及版本(新增IE11)
    路径别名
    判断是否是IE浏览器和是否是IE11
    页面视图中的按钮操作指向
    安卓开发环境搭建与环境变量设置
    html中iframe子页面与父页面元素的访问以及js变量的访问
  • 原文地址:https://www.cnblogs.com/asenyang/p/14362757.html
Copyright © 2011-2022 走看看