1、redis 的五大数据类型
String : 字符串
string是redis最基本的数据类型
string类型是二进制安全的,意思是redis的string可以包含任何数据类型,包含jpg图片或者序列化的对象
string类型是redis中最基本的类型,一个redis字符串value最多可以是512MHash: (哈希)、
类似于java中的mapList : (列表)
是简单的字符串列表,按照插入顺序排序,你可以添加一个元素在列表的头部(左边)或者尾部(右边),它的底层实际上是个链表Set : ( 集合)
Zset : ( sort set有序集合)
redis zset和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是,每个元素都会关联一个double类型的分数,redis正式通过分数来为集合中的成员从小到大排序。zset 的成员是唯一的,但分数确实可以重复的
2、 key关键字
exists key : 是否存在key
move k3 3: 将k3 移动到3号库,当前库就没有了
ttl k1 : k1 还能存活多久 -1 :永不过期
expire k3 10 v3 : 给k3 设置10秒的过期时间
type k1 : 查看k1 值的数据类型
3、 redeis__String
set :设值
get :取值
del :删除 key
append : 在key对应的value添加字符串
strlen :key对应的value的长度
Incr decr incrby decrby
getrange:获取指定区间范围内的值 get k1 0 5
setrange: 覆盖指定范围内的值
setex k1 10 v1 在创建k1时,给其设置10秒的过期时间
setnx: set if not exist 不存在才进行覆盖
mset k1 v1 k2 v2 k3 v3
mget
msetnx : mset if not exist : 当有一个没创建成功,则本次操作失效
4、redeis__List 单值多value
1、lpush 、rpush 、lrange
lpush : 从左进
rpush : 从右进
lrange: 遍历list 中的变量 lrange list 0 -1 ()从左到右遍历
2、lpop rpop
lpop : 将左边的栈顶数据出栈
rpop: 将右边的栈顶数据出栈
3、lindex: 按照索引下表获取元素 (从0开始)
4、llen : 获取list的长度
5、lrem:删除n个value lrem list 2 3 在list中删除两个3
6、ltrim list start end : 截取指定范围的值后,再赋值给key
7、lset key index value : 将list04 的第2位设置为3
8、linsert keybefore/after key_value value
linsert list04 before 1 java ==> 将java插入到list04的1之前
5、 redeis__Set 单值多value
1、sadd: 向set中添加数据
sadd set01 1 1 2 2 0 3
2、smembers : 取出set中的所有成员
3、sismember 集合名 xx : 判断xx是不是集合的一个成员
4、scard 集合 : 返回set中元素的个数
5、srem 集合 xx : 删除集合中的xx元素
6、srandmember set 3: 在set中随机抽取3个元素
7、spop set : set中的元素随机出栈
8、smove set1 set2 xx : 将set1中的xx元素移动到 set2中
9、数学类集合
sdiff 差集
sdiff set01 set02 : 在set01中,但不在set02中
sinter 交集
sinter set01 set02
sunion : 并集
sunion set01 set02
6、 redeis__Hash KV模式不变 但是Value是一个键值对
1、hset
hset user id 1 : user -> {id : 1}
hset user name hc : user -> {id : 1,name:hc}
2、hget
hget user id
3、hmset: 设置hash中的多个属性
hmset customer id 1 name zs age 22
4、hmget:获取hash中的多个属性
hmget customer id name age
5、hgetall
hgetall customer : 获取customer中所有key对应的值
6、hdel
hdel user name : 将user中的name删除
7、hlen
hlen user : 获取user中 kv 键值对的个数
8、hexists xxx key
hexists customer id : customer 中是否存在id这个key
9 、hkeys xxx : 取得map中所有的key
hvals xxx : 取得map中所有的value
10、hsetnx xxx key value:不存在则插入成功
7、 redeis__ZSet
1、向zset中添加元素 zdd key score value1
2、查询zset中的所有元素: zrange key 0 -1
3、根据分数来检索zset
zrangebyscore zset01 60 (90 60 =< 获取的值 <90
zrangebyscore zset01 (60 (90 60 < 获取的值 <90
zrangebyscore zset01 60 90 limit 2 2 在zrangebyscore zset01 60 90结果中,index=2开始截取2位
4、zrem 删除集合中的某个元素
zrem zset01 v5:删除zset01集合中的v5元素
5、zcard zset01:删除zset01集合