redis数据类型:
string ,hash, list, set, zset
string :采用键值对
set key value 设置键值对 -----1、键, 2、值
get key 获取value-----1、键
setnx key value key不存在则设置-----1、键, 2、值
setex key 10 value 为键值对设置有效时间(超时为空)-----1、键,2、时间(s),3、值
setrange key 1content 替换指定字段-------1,键,2、字符索引,3、替换内容(有多少替换多少,超过的补空) 返回值是执行后的字符长度
mset key1 value1 key2 value2 .... 设置多个键值对 -------1、第一个键,2、第一个键对应的值,3、第二个键,4、第二个键对应的值
mget key1 key2.... 获取多个值 --------1、第一个键,2、第二个键
msetnx key1 value1 key2 value2 键对应值不存在则设置,但只要有一个不成功则都不设置-------1、第一个键,2、第一个键对应的值,3、第二个键,4、第二个键对应的值
getset key value 返回旧value,获取新value -----1、键, 2、值
getrange key 0 5 获取value索引为0-5的字符 -----1、键, 2、开始索引,3、结束索引
incr key key值递增+1(针对数字) -----1、键
incrby key 5 key值+5 -----1、键,2、加多少
decr key key值递减-1 -----1、键
decrby key 5 key值-5 -----1、键,2、减多少
append key content 追加内容 --------1、键,2、追加的内容
strlen key 获取长度 --------1、键
hashes:(适合存储对象)
field value 映射表
hset obj key value 设置obj对象的值 ------1、对象(含多个键),2、键,3、值
hget obj key 获取对象中一个field对应的值 ------1、对象,2、键
hsetnx obj key value 不存在则设置 ------1、对象,2、键,3、值
hmset obj1 key1 value1 key2 value2 设置多个值------1、对象,2、第一个键,3、第一个值,4、第二个键,5、第二个值 (但个人感觉和hset没什么区别,hset也可以设置多个值,这个也可以只设置一个值,只发现返回值不同)
hmget obj key1key2 获取多个值 ------1、对象,2、第一个键,3、第二个键
hincrby obj key 5 增加obj中key对应的键值------1、对象,2、键,3、值加多少
hexists obj key 判断obj的key是否有对应的值存在,存在返回(integer) 1,不存在返回(integer) 0 ------1、对象,2、键
hlen obj 对象存在key含对应值的数量-----1、对象
hdel obj key 删除obj的某个key对应的值-----1、对象,2、键
hkeys obj 获取obj所有key-------1、对象
hvals obj 获取obj所有key对应的值-------1、对象
hgetall obj 获取obj的key和key对应的值-------1、对象
lists:(先进后出)
链表结构
lpush list value 往list中插入一个元素 -------1、list,2、元素
lrange list 0 -1 查看list中的元素 -------1、list,2、从索引为?开始,3、到索引为?结束(-1是到末尾最后一个)
rpush list value 往list中反向插入一个元素 -------1、list,2、元素
linsert list before value1 value2 在value1前面插入value2 -------1、list,2、选择前还是后(前是before,后是after),3、list中被选择的值,4、准备插入的值
lset list 1 value1 在list中将索引为1的值替换为value1 ----------1、list,2、list中被选择的索引值,3、准备替换的值
lrem list 1 value 删除list中1个为value值的--------------------- 1、list,2,准备删除多少个,3、准备删除的值
ltrim list 1 2 保留list中索引为1到2的值,其他删除 ---------------------1、list,2、开始索引,3、结束索引
lpop list 从头删除一个元素 ----1、list
rpop list 从尾删除一个元素 ----1、list
rpoplpush list1 list2 从第一个list1尾删除后加入第二个list2头-------1、第一个list,2、第二个list
lindex list 1 返回索引对应的值-------1、list,2、索引值
llen list 返回list的长度 ---------1、list
sets:(无序集合)
sadd set value1 添加元素---------1、set,2、添加的值
smembers set 查看集合---------1、set
srem set value 删除元素--------1、set,2、删除的值
spop set 随机弹出(删除)元素--------1、set
sdiff set1 set2 集合差集 以set1为标准,返回set1有的,set2没有的--------1、第一个set,2、第二个set
sdiffstore set3 set1 set2 将set1和set2的差集存入set3----------1、第三个set,2、第一个set,3、第二个set
sinter set1 set2 集合交集--------1、第一个set,2、第二个set
sinterstore set3 set1 set2 将set1和set2的交集存入set3----------1、第三个set,2、第一个set,3、第二个set
sunion set1 set2 集合并集--------1、第一个set,2、第二个set
sunionstore set3 set1 set2 集合并集存入set3----------1、第三个set,2、第一个set,3、第二个set
smove set1 set2 value 将set1中value移到set2中--------1、第一个set,2、第二个set,3、第一个set中的某个值
scard set 查看元素个数--------1、set
sismember set value 测试alue是否是set的元素,是返回1,不是0--------1、set,2、测试的值
srandmember set 随机返回一个元素--------1、set
sorted sets:(有序集合)
zadd sort_set 1 value 添加元素到第1个 ----------1、set,2、设置添加的值的序号,3、设置的值
zrange sort_set 0 -1 [withscores] 查看,带[]含序列号------------1、set,2、开始索引,3、结束索引,4、显示序号
zrem sort_set value 删除set中value ----------1、set,2、删除的值
zincrby sort_set 2 value 增加value序列+2----------1、set,2、序号加多少,3、set中要变化的值
zrank sort_set value 返回value索引值----------1、set,2、set中要查看索引的值
zrevrank sort_set value 返回value索引值,和上面序号相反(从大到小)----------1、set,2、set中要查看索引的值
zrevrange sort_set 0 -1 [withscores] 查看(降序),与zrange相反-------------------1、set,2、开始索引,3、结束索引,4、显示序号
zrangebyscore sort_set 2 3 [withscores] 返回第2到3个元素-------------------1、set,2、开始序号(不是索引),3、结束序号,4、显示序号
zcount sort_set 2 4 返回2到4的元素个数-------------------1、set,2、开始序号(不是索引),3、结束序号
zcard sort_set 返回集合元素个数-------------------1、set
zremrangebyrank sort_set 2 3 删除索引2-3-------------------1、set,2、开始索引,3、结束索引
zremrangebyscore sort_set 2 4 删除顺序2-4-------------------1、set,2、开始序号(不是索引),3、结束序号