redis入门指南中命令总结

来源:互联网 发布:linux 脚本 关闭程序 编辑:程序博客网 时间:2024/06/05 11:10
 redis 和memcached的不同
 redis 可以持久化,放在硬盘中
 memcached 只能放在内存中,程序退出后,内存中的数据就会丢失了。
 redis 是作为数据库开发的。
 redis 是单线程, memcache 是多线程,所以在多核系统中 memcache性能好,需要更高的数据类型和持久化 redis会好些

1,keys *,?,[a-b]
      keys * 会遍历redis中所有的建 影响性能,所以开发环境中不要用
2,判断一个建是否存在
       exists bar   存在返回1  否则返回0
        
3,删除  del
      xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。来自: http://man.linuxde.net/xargs
4,获取key类型
      type key
5,php中的redis
        
6, 递增数字
    incr  num
7 append 向尾部追加  相当于set key value 返回的是追加后总的字符串长度
8, strlen key  返回字符串的长度
9, mget mset 可以设置多个
10  hash表  
       hget hset  hmset hmget 设置多个字段
       hgetall 获取所有的       
       语言将hgetAll 封装到对象中   
      判断是否存在哈希表, hexists key field1  1代表有,0代表没       
       hsetnx : 如果不存在进行赋值,如果存在不进行任何操作
       hincrby: 累计加n, 没有hincr 可以通过  hincrby key field 1 来实现          
        只获取字段值  hkeys  ; 获取值 hvals          
         hlen key : 获取字段数量       
11 列表(list)类型
        lpush  rpush 向左边和右边添加元素
        lpop    rpop
        llen key  获取列表的长度
        lrange : 获取列表片段, lpop rpop 会删除  lrange不会删除    存的是      3  2   1        
       lrange  key 0 -1 会展示所有的列表  
       ltrim    是删除片段            
       lrem  key  count  value   count = 0  删除所有的 value  如果count >0 从左边删除 count个 value    如果 count < 0 从右边删除count个           value
      像操作数组一样 操作列表:
      lindex  key index    显示 
      lset  key  index  value  
      linsert: 制定位置插入     
      rpoplpush : 从一个list 到另一个list  一个个的转         
12   集合类型 (set) hash table实现的
        和列表相比:集合类型具有唯一性,是无序的。列表不是唯一的,是有序的。
         sadd , srem 增加删除,可以增加或删除多个
        smembers key 获取
         sismember key value  存在返回1  不存在返回0       
         集合运算: 
                          sdiff (支持多个key): sdiff A B   差集  属于A ,但不属于B                        
                          sinter 取交集                        
                        sunion                            
        scard:获得集合的个数           
        srandmember  seta  count 随机获取一个数 也可以指定多个,count >0  不重复,< 0  可以重复的 count个数
        spop: 弹出一个元素

12, 有序集合 sorted set  (用散列表和跳跃表实现 所以读取位于中间的也很快)                 
             zadd key score value  socre value
             zscore  key  value 查看分数           

  获得排名在某个范围的元素列表:zrange key start stop        
   带有分数的:zrange  key 0 -1 withscores          
  获取指定分数之间的:zrangebyscore key startScore  endScore            
                   在1到4之间 但是不包含4 用  zrangebyscore treeset 1 (4    -inf  +inf 代表正无穷和负无穷                                 
增加某个元素的分数:zincrby treeset count member         
        zcard:获取有序集合个数                          
      获得制定分数范围内的元素个数 zcount key min max          
     删除一个或多个元素: zrem key member
     按照分数范围删除元素:zremrangebyscore key min max
     获取元素的排名:zrank key member    zrevrank  key member   从0开始        

13  redis的事务 (没有提供回滚功能)
       multi
       exec        
14   watch : 监控     
15  redis  失效 expire   key  秒; ttl  查看还有多少秒失效,如果返回-1  说明还没有该key或是永久存在    
16  取消失效  persist  a
17 可以用sort 命令进行排序      
18  队列 可以用列表实现 rpop  可以用brpop 命令会一直阻塞住连接,直到新元素加入。           
        brpop queue 0 :代表没有阻塞时间,如果没有新元素加入就一直阻塞。开启两个redis实例。 select 1 选择第1个                       
            队列优先级:brpop key1  key2  key3 ; 按照从左到由的顺序取
19   发布/订阅模式
            publish:发布   返回0  说明没有订阅的              
            subscribe: 订阅  返回三个值的含义不同。 1 订阅成功  2:代表订阅的频道  3:代表当前频道的 订阅人数           
             当publish 一个新的内容后,另个redis实例 自动出现订阅的            
             unsubscribe :可以取消订阅            
              psubscribe : 可以订阅一定规则的                                             
            punsubscribe : 是取消订阅




20 ,管道
        客户端和redis 采用TCP协议连接,管道会更快  以下是php中用到的管道,速度提升不少
        
        
21,内部编码  object encoding key         
22  redis  可以重新命名的          
 23  查看redis 的信息 info
24  获取耗时日志的命令 slowlog  get
25   命令监控 monitor  此命令非常影响性能,会降低redis将近一半的负载能力


        


















 

原创粉丝点击