II-3 字符串 String的20条常用命令: set key value 注意:中文乱码set get没有解决????????????????? 如果要在redis-cli中使用中文时,必须打开--raw选项,才能正常地显示中文 [root@mongodba logs]# redis-cli --raw 说明: 一个英文字符只需要使用单个字节来储存,而一个中文字符却需要使用多个字节来储存。 我们都知道Redis里面的setrange和getrange所使用的索引都是根据字节而不是字符来编排的,它们都只会在 字符为单个字节的情况下才可以正常使用,而我们储存类似中文的多个字节表示的字符时,这些命令就不好使用了 get key getrange 截取字符串范围,注意是从0开始,若想截取所有,则为getrange key 0 -1 例子:getrange mykey 0 0 截取第一个字符 getrange mykey 0 -1 截取所有字符 getset 设置指定 key 的值,并返回 key 的旧值 例子:getset mykey "world" getbit key offset:获取指定偏移量上的位(bit)。 setbit key offset value:对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。 说明:就是讲key对应的值转换为byte,即二进制类型,例如, 'a' 的ASCII码是 97。转换为二进制是:01100001 offset 0 将二进制从左到右数第一位 offset 2 将二进制从左到右数第三位 getbit就是获取二进制上对应的offset的值(非0即1) setbit将二进制上对应的offset的值设为0或1 bitcount获取key上对应的二进制有多少个1 mget key1 key2 返回不同key对应的值 setex key timeout value:为指定的 key 设置值及其过期时间 setnx key value:只有在 key 不存在时设置 key 的值。 setrange 命令用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始。