redis学习笔记

来源:互联网 发布:谷歌有哪些好软件? 编辑:程序博客网 时间:2024/05/12 19:16

redis学习150508

注:有些没有命令示例,日后补充


1 安装及配置 略
2 基础命令
  ping 测试客户端与服务器的连接状况,正常返回PONG
  keys 获取符合规则的键名列表,如 keys *:获取所有键名
  del  删除一个或多个键
  type 获取一个键的数据类型
  exists 判断一个键是否存在
3 数据类型
  3.1 字符串类型 最基本数据类型,可以存储任何字符串类型,比如用户邮箱,还可以存放二进制数据,最大存储512M
操作:
        set:为键名赋值,如 set foo 1 :为foo 赋值为 "1"
应用场景:用户注册时设置信息


        get:获取键值,如 get foo :获取foo的值
应用场景:用户登陆时获取用户相关信息
注1:当键不存在时返回空(nil)


incr:当存储的值是整数形式的时候,递增键值,如 incr foo :递增foo的值,此时foo的值应该为2
注1:当要操作的键不存在时,键值默认为0
注2:当键值不是整数时,报错(error) ERR value is not an integer or out of range
注3:incr是原子操作(当然其它所有命令都是原子操作),这样避免系统出现竞态时产生错误,如两个客户端同时准备改变同一个键值,这时候原子操作是必然的选择
应用场景:访问量统计,产生自增ID等

incrby:对键值增加指定的数值,如 incrby bar 2,执行该命令后bar = bar + 2


decr/decrby:减少键值,用法同incr/incrby


incrbyfloat:用法同incrby,前者增加指定的双精度浮点数,如incrbyfloat bar 3.5

append:在键值末尾增加值,返回增加后字符串总长度,如
127.0.0.1:6379> set key hello
OK
127.0.0.1:6379> append key "zhaoluo"
(integer) 12
127.0.0.1:6379> get key
"hellozhaoluo"


strlen:获取字符串长度,返回值就是字符串长度,如果不存在返回0,如
127.0.0.1:6379> strlen key
        (integer) 12
127.0.0.1:6379> strlen keyy
  (integer) 0


mset/mget:批量设置与获取键值,如
127.0.0.1:6379> mset k1 1 k2 2
OK
127.0.0.1:6379> mget k1 k2
1) "1"
2) "2"


getbit:获取字符串二进制位值,如
127.0.0.1:6379> set foo bar
OK
注1:bar的二进制表示为:01100010 01100001 01110010
127.0.0.1:6379> getbit foo 0
(integer) 0
127.0.0.1:6379> getbit foo 5
(integer) 0
127.0.0.1:6379> getbit foo 6
(integer) 1
127.0.0.1:6379> getbit foo 100 
(integer) 0
注2:如果需要获取的二进制位的索引超出了键值的二进制位的实际长度则默认位值是0


        setbit:设置指定二进制位,如把foo对应键值第五位设为1,此时foo就变为 far 了
127.0.0.1:6379> setbit foo 5 1
(integer) 0                   //返回该为原来的值
127.0.0.1:6379> get foo
"far"

bitcount 获取foo中二进制位中1的个数
127.0.0.1:6379> bitcount foo
(integer) 11
127.0.0.1:6379> bitcount foo 0 1 //只获取第0和第1个字符二进制位为1的位数
(integer) 7


bitop:对多个字符串类型键进行位运算,并将结果存储在destkey参数指定的键中。BITOP命令支持的运算操作有AND、OR、XOR 和NOT。如
127.0.0.1:6379> set foo1 bar
OK
127.0.0.1:6379> set foo2 aar
OK
127.0.0.1:6379> bitop or result foo1 foo2
(integer) 3
127.0.0.1:6379> get result
"car"
注:位操作快速而且占用空间小,可以非常紧凑地存储布尔值.





















  












  
0 0