一、Redis
目录
目录
二、Redis键的key
1、del key:删除指定的key,可以由多个,由空格隔开
2、dump key:序列化给定的key,不常用
3、exist key:判断是否存在key,存在返回1,不存在返回0
4、expire key seconds:给指定的key设置过期时间,以秒计时
5、ttl key:查看key的剩余生存时间,-2代表过期,-1代表永久存在
6、persist key:移除key的时间,key将永久存在,只能在还未过期设置才有效,已经过期设置无效
7、keys pattern:pattern通配符,*代表所有,?是一个占位符
8、rename old new:更换key的名字
9、move key db:将key移到db这个库里
10、type key:返回key的类型
三、String
1、set key value:设置key的值为value,如果已经存在key的值只会覆盖,无视类型,key区分大小写
2、setnx key value:只有在key不存在情况下,才设置value值,可以设置一个或多个key-value
3、get key:获取指定key的value,如果不存在返回nil
4、getrange key start end:获取指定key中的value并且截取start和end之间的字符串,从0开始,end可以越界
5、mget key1 key2..:获取多个key的value
6、getset key value:用于对指定的key重新设置value,并且返回旧的value,key不存在返回nil
7、strlen key:查询指定key的value长度
8、incr key:将key中存储的数字值增1,如果不存在会初始化为0在进行incr操作
9、decr key:自减1,与8相反的命令
10、incrby key num:自加num个数值
11、decrby key num:自减num个数值,没有的话都是先默认为0在进行操作
12、append key value:给指定的key的原本value在后面追加命令中的value,如果没有则创建并赋值
四、Hash
1、hset key field value:给指定的key设置field/value,例:hset user name wx age 18 gender 男
2、hmset key field value【field1,value1】:将多个field-value(域-值设置到hash key中)
3、hget key field:获取key的value,然后根据field获取对象里的属性,比如对1中:hget user name 得到 wx,必须指明field
4、hmget key field【field】:获取key所有给定字段的值,例子:hmget user name age 得到 wx 18
5、hgetall key:返回hash表中所有的字段和值
6、hkeys key:获取hash表中所有的字段
7、hlen key:获取hash表中字段的个数
8、hedel key field1【field2..】:删除一个或多个hash表的字段
9、hsetnx key field value:只有在field字段不存在才设置hash表的字段值
10、hincrby key field num:给hash表中key的字段整数自增num个值
11、hincrbyfloat key field num:给hash表中key的字段浮点数自增num个值
12、hexists key field:查询hash表中指定的field字段是否存在
五、List
1、lpush key value1 【value2】:将一个或多个value插入列表头部,左侧插入
2、rpush key value1 【value2】:将一个或多个value插入列表,右侧插入
3、lpushx key value:将一个值插入已存在的列表头左侧,列表不存在,操作无效
4、rpushx key value:将一个值插入已存在的列表尾右,列表不存在,操作无效
5、llen key:获取列表长度
6、lindex key index:获取列表index索引下的值
7、lrange key start stop:获取列表指定范围的值,-1代表最后,100个数据取倒数后五个,lrange key -5 -1
8、lpop key:移除列表第一个元素并获取,左侧
9、rpop key:移除列表最后一个元素并获取,右侧
10、blpop key1 【key2】 timeout:移除并获取列表第一个元素,如果没有则堵塞timeout秒,否则返回nil
11、brpop key1 【key2】 timeout:移除并获取列表最后一个元素,如果没有则堵塞timeout秒,否则返回nil
12、ltrim key start stop:将列表裁剪,保留start-stop之间的元素,其余删除
13、lset key index value:将列表index索引处的值改为value
14、linsert key before|after world value:在列表元素的前后插入value
15、rpoplpush source destination:移除source最后一个元素,将该元素加入到另一个列表的头部
六、Set
Redis的Set是String类型的无需集合,集合成员是唯一的,这就意味着在集合中不能出现重复的数据。
1、sadd key member1 【member2】:像集合添加一个或多个成员
2、scard key:获取集合长度
3、smemebers key:获取集合的所有成员,无序的
4、sismember key member:获取member元素是否是集合key的成员
5、srandmember key 【count】:获取集合中一个或多个随机数,不写count就是默认1
6、srem key member1 【member2】:移除一个或多个成员
7、spop key 【count】:移除并返回集合中的一个或多个随机数
8、smove source destination member:将source集合中的member移到destination集合中
9、sdiff key1 【key2】:返回给定所有集合的差集
10、sdiffstore destination key1【key2】:返回给定所有集合的差集并存储在destination集合中,就是key1中有的,key2中 没有的数据
11、sinter key1 【key2】:返回给定所有集合的交集
12、sinterstrore destination key1 【key2】:返回交集并且存再destination集合中
13、sunion key1 【key2】:返回给定集合的并集
14、sunion destination key1 【key2】:返回所有集合的并集,并且存储在destination集合中
七、Zset
1、zadd key score1 member1 【score2 member2】:向有序集合插入一个或多个成员,如果已存在就更新成员
2、zcard key:获取有序集合的长度
3、zcount key min max:获取有序集合中指定区间分数的成员数
4、zrank key member:返回有序集合中指定成员的索引
5、zrange key start top【withscores】:通过索引区间返回有序集合指定区间的成员(低到高) 0 -1代表所有
6、zrevrange key start stop 【withscores】:通过索引区间返回有序集合指定区间的成员(高到低)
7、zrem key member1 【member2】:移除有序集合中的多个成员
8、zremrangebyrank key start stop:移除有序集合中给定的排名区间的成员(第一名是0)
9、zremrangebyscore key min max:移除有序集合中给定分数区间的成员
8、Redis发布订阅
1、subscribe chanel1 【chanel2...】:订阅一个或多个频道信息
2、psubscribe pattern1 :订阅一个或多个符合给定模式的频道
3、publish chanel message:将消息发送到指定的频道
4、unsubscribr chanel1 【chanel2...】:退订频道
5、unsubscribrpattern1 :退订符合给定模式的频道
9、Redis多数据库
10、Redis事务
11、Redis数据淘汰策略
1、Redis默认设置最大使用内存大小:maxmemory 512G
12、Redis缓存与数据库一致性