现在位置首页 / 项目实战 /正文

Redis学习笔记 String类型及C#调用(三)

作者: 春暖花开 | 2014年11月17日| 热度:℃ | 评论: |参与:

Redis学习笔记  各篇幅目录,热乎乎出炉,欢迎点击

上篇  《Redis学习笔记  String类型及C#调用(二)》


12、

getrange key start end

 获取截取的字符串。截取范围有start end 两个偏移量决定。
示例:

 set key_getrange "abcdefg"
getrange key_getrange 0 -1   //"abcdefg"  取全部
getrange key_getrange 0  1   //"ab" 从索引为0开始,取到索引为1的位置
getrange key_getrange 2  2   //"c" 从索引为2开始,取到索引为2的位置
getrange key_getrange 5  3   //""   end<begin ,取到空值。
getrange key_getrange -3 -1  //"efg" 从倒数第三个取到倒数第一个 
getrange key_getrange 0 100000 //"abcdefg"

C#:
       

//方法:  
public byte[] GetRange(string key, int fromIndex, int toIndex);

 

//实现:     
byte[] r= redisClient.GetRange("key_getrange", 2, 2);  //string str=Encoding.UTF8.GetString(r)


13、

setbit key offset value

对于key的字符串,设置或清除指定偏移量上的位。
value - 0|1
key 不存在,自动生成一个新的串。字符串自动延伸,0补空白位。
返回值:偏移量位置的原来存储值。

实例:
   

  setbit keybit 10,1
  setbit keybit 11,0

    
如图:2-2-1

图:2-2-1


C#:

var returns = redisClient.SetBit(key, 12, 1); //在偏移量为 12 的位置,设置位为1 。 返回偏移量原来的值。



14、

getbit key offset

获取key在偏移量处的位值。
如果offset超过了字符串长度,返回0。
如果key不存在,返回0。
返回值:偏移量处的位值(bit value)

示例:

  setbit keybit 20 1
  getbit keybit 20   //返回 1
  getbit keybit 21   //返回 0,因为没 setbit 。

如图:2-2-3

图:2-2-3


C#:

        var r = redisClient.GetBit(key, 20);   // 1
        r = redisClient.GetBit(key, 21);   // 0


15、

bitcount key [start end]

获取字符串位值为1的数量。
默认整个字符串的范围,可以设定起始结束值。
返回值:被设置为1的位的数量。

示例:

setbit keybitcount 0 1  //"keybitcount" 为 key 的名称。
setbit keybitcount 2 1
bitcount keybitcount   //只有2个

如图: 2-2-4

图: 2-2-4


C#:

  var counts=redisClient.BitCount("keybitcount"); //数量为 2


16、

 bitop operation destkey key [key ...]

对一个或多个保存二进制位的字符串进行位元操作,结果过保存到 destkey 上。
BITOP AND destkey srckey1 srckey2 srckey3 ... srckeyN   //与
BITOP OR destkey srckey1 srckey2 srckey3 ... srckeyN    //或
BITOP XOR destkey srckey1 srckey2 srckey3 ... srckeyN   //异或
BITOP NOT destkey srckey     //非

实例:

setbit bits1 0 1    
setbit bits1 3 1    // 1001
setbit bits2 0 1
setbit bits2 1 1
setbit bits2 3 1    // 1101
bitop and and-result bits1 bits2  // 1001
getbit and-result 0  // 1
getbit and-result 1  // 0
getbit and-result 2  // 0 
getbit and-result 3  // 1
bitop or or-result bits1 bits2  //1101
getbit or-result 0  // 1
getbit or-result 1  // 1
getbit or-result 2  // 0 
getbit or-result 3  // 1
bitop xor xor-result bits1 bits2  //0100
getbit xor-result 0  // 0
getbit xor-result 1  // 1
getbit xor-result 2  // 0 
getbit xor-result 3  // 0
bitop not not-result bits1  // 0110
getbit not-result 0  // 0
getbit not-result 1  // 1
getbit not-result 2  // 1 
getbit not-result 3  // 0


C#: 暂无


17、

decr key

   将value的值减一。

decrby key decrement

  将value的值减去设定值。

   如果value不是有效的intger类型,报错。
   如果key不存在,创建key,并赋值为0,然后执行 decr 操作。

实例: 

   set keydecr 50
   decr keydecr   //49
    
   decrby keydecr 10 // 49-10=39


C#:

    // 方法:        
    public long Decr(string key);        
    public long DecrBy(string key, int count);
   
    //实现:      
    var decrV=redisClient.Decr("keydecr");   //key值减去1.    
    decrV = redisClient.DecrBy("keydecr", 3);  //key的值减去指定的数值。


18、

incr key

   将value值加一。

 

incrby key increment

   将value的值加上设定值。


  如果value不是有效的intger类型,报错。
  如果key不存在,创建key,并赋值为0,然后执行 decr 操作。


实例:

  set keyincr 50    
  incr keyincr   //51   
  incrby keyincr 10 // 51+10=61


C#:

  //方法:        
  public long Incr(string key);        
  public long IncrBy(string key, int count);        
  public long IncrBy(string key, long count);        
  public double IncrByFloat(string key, double incrBy);
 //实现:  
        var incrV = redisClient.Incr("keyincr");        
        incrV = redisClient.IncrBy("keyincr",10);

-----------------------------------------


C# demo代码:

http://pan.baidu.com/s/1gd1SgQf

点击阅读本文所属分类的更多文章: 项目实战 。和高手一起交流:346717337

未注明转发、原文均为本站原创。分享本文请注明 原文链接

给您更多信息和帮助

在这里您可以找到更多:

技术交流群:346717337 Jquery插件交流

投稿:suchso@vip.qq.com

承接:企业网站门户/微网站/微商城/CMS系统/微信公众号运营/业务咨询

echarts教程系列
本月最热文章

微信扫一扫,徜徉悠嘻网,您的休闲乐园

微信公众号:快乐每一天

随机文章
标签

技术交流群:346717337

投稿:suchso@vip.qq.com

专业专注:企业网站门户/微网站/微商城/CMS系统/微信公众号运营/付费问题咨询