Redis的数据类型
String类型
1.语法 set key value 设置key的值
示例:set name zhangsan
set age 22
set name lisi 如果key存在,将会覆盖原来key的值
2.语法 get key 获取key的值
示例:get name
get age
3.语法 del key 删除指定key的值
示例:del name
del age
4.语法: append key value 在原来的值的基础上添加新值
示例:set name zhangsan
append name lisi
5.语法: strlen key 获取指定key的值的长度
strlen name 12
6.语法: getrange key start end 获取指定key的值,从start位置开始,end位置结束
示列:getrange name 2 7
7.语法: setrange key offset value 从起始位置替换值
示例:setrange name 2 abc
8.语法: setex key second value 设置key的值并指定存活时间
示例: setex name 100 lisi
9.语法:setnx key value 设置key的值并且永久有效
示例:setnx address beijing
10.语法: incr key 对key的值自增1
示列: incr currentPage
11.语法: decr key 对key的值自减1
示列: decr currentPage
12.语法: incrby key number 对key的值递增number
示列: incrby currentPage 10
13.语法: decrby key number 对key的值递减number
示列: decrby currentPage 5
14.语法: mset key1 value1 key2 value2 .... 一次性设置多个key-value键值对
示列: mset name1 zhangsan name2 lisi name3 wangwu
15.语法: mget key1 key2 .... 一次性获取多个key的值
示列: mget name1 name2
16.语法 expire key seconds 设置key的存活时间 seconds秒数
示例 expire address 30
17 语法 ttl key 查看key的存活时间 如果返回-1 表示永久有效
示例 ttl name
18.语法 persist key 设该key永久有效
示列 persist address
Hash数据类型
Map<String,Map<String,String>>
1.语法: hset key field value 设置key 的 field字段的值
示列: hset person name lisi
hset person address changsha
hset person birthday 1997-10-10
2.语法: hget key field 获取key的field字段的值
示例: hget person name
4.语法: hmset key field1 value1 field2 value2 .... 一次设置key的多个字段的值
示例: hmset student name wagnwu age 22 gender man
5.语法: hmget key field1 field2 .... 一次获取key的多个字段的值
示例: hmget student name age gender
6.语法: hgetall key 获取key的多个字段的值(包括键和值)
示例: hgetall student
7.语法: hkeys key 获取key的所有字段
示例: hkeys student
8.语法: hvals key 获取key的所有字段的值
示例: hvals student
9.语法: hdel key field1 field2 ... 删除key的所有多个字段的值
示例: hvals student
10.语法: hlen key 返回key的所有键值对的个数
示例: hlen student
11.语法: hexists key field 返回key的field字段是否存在
示例: hexists student name
List数据类型
1.语法: lpush key value1 value2.... 向key集合的左边一次添加值
示例: lpush ages 22 34 21 45 20
2.语法: rpush key value1 value2.... 向key集合的右边一次添加值
示例: rpush names zhangsan lisi wangwu zhaooiu
3.语法: lrange key start stop 取key集合中指定的start位置到stop位置的内容(-1代表集合结束)
示列:lrange ages 0 2
lrange ages 0 -1
lrange ages 0 100
4.语法: llen key 查看key集合的长度
示例: llen ages
5.语法: lpop key 删除key集合的第一个元素
示例: lpop ages
6.语法: rpop key 删除key集合的最后一个元素
示例: rpop ages
7.语法: lindex key index 获取key集合的index索引的元素
示例: lindex ages 2
8.语法: lrem key count value 删除key集合的count个索引的元素(集合中有重复值)
示例: lrem ages 2 45
set数据类型
1.语法: sadd key value1 value2 ... 向为key的集合中添加多个值(去重)
示例: sadd empNames zhangsan lisi wangwu zhaoliu lisi
2.语法: smembers key 循环key集合中的所有值
示例: smembers empNames
3.语法: scard key 统计key集合中的元素个数
示例: scard empNames
4.语法: srem key value 删除key集合中的value值
示例: scard empNames lisi
5.语法: spop key 随机删除key集合中的某个值
示例: scard empNames lisi
6.语法: smove source destination member 将集合中的某个值赋给另外一个集合: SMOVE 源集合 目的集合 值
示例: smove empNames works zhangsan
7.语法: Sdiff 集合1 集合2 求差集
示例: sadd seta a b c d e
sadd setb c d e f g
sdiff seta setb
1) "a"
2) "b"
sdiff setb seta
1) "f"
2) "g"
8.语法: sinter 集合1 集合2 求交集
示例: sinter seta setb
1) "d"
2) "c"
3) "e"
9.语法: sunion 集合1 集合2 求并集
示例: sunion seta setb
1) "d"
2) "a"
3) "b"
4) "c"
5) "e"
6) "f"
7) "g"
zset(SortedSet)数据类型
1.语法: zadd key score value ... 向为key的集合中添加多个(score-value)
示例: zadd students 1 zhangsan 3 lisi 2 wangwu 5 zhaoliu
2.语法: zrange key start stop [WITHSCORES] 循环key的集合从start位到stop位置的值
示例: zrange students 0 -1
1) "zhangsan"
2) "wangwu"
3) "lisi"
4) "zhaoliu"
3.语法: zrem key value 删除key集合中指定的value元素
示例: zrem students lisi
4.语法: zrevrange key start stop [WITHSCORES] 逆序显示key集合中的元素
示例: zrevrange students 0 -1
zrevrange students 0 -1 withscores
5.语法: zrangebyscore key min max 根据分数区间查询内容
示例:zrangebyscore students 2 5
6.语法: zcard key 统计key集合中有多少个键值对
示例: zcard students
7.语法: zcount key min max 统计key集合中min到max区间元素
示例: zcount students 1 4
8.语法: zrank students wangwu 统计key集合中指定元素索引
示例: zrank students wangwu
9.语法: zscore key value 统计key集合中指定元素的分数
示例: zscore students zhangsan