redis基础
Redis启动位置,bin/redis-server,启动时可引用配置,终端bin/redis-cli,基准测试bin/redis-benchmark
1.支持的数据结构:字符串类型、散列类型、列表类型、集合类型、有序集合类型
2.内存存储与持久化,redis提供对持久化的支持,可以将内存中的数据异步写入硬盘中,同时不影响继续提供服务
3.一个字符串类型键允许存储的数据的最大容量是512MB
4.redis的数据类型不支持数据类型嵌套,比如集合类型的每个元素都只能是字符串,不能是另外一个集合或散列表
5.Brpop实现优先级队列 brpop queue:1 queue:2 queue:3
6.事物 multi xxx xxx exec
7.事物错误处理1)语法错误2)运行错误,语法错误redis可以检查出来,运行错误会导致rediskey进入无法预料状态
8.watch命令可以监控一个或多个键,一旦其中有一个键被修改(或删除),之后的事物就不会执行。监控一直持续到exec命令
9.expire设置生存时间,ttl查看生存时间
10.sort命令,by get store 参数
11.publish/subscribe/psubscribe消息通知
12.redis管道
13.redis编码类型
字符串 |
REDIS_ENCODING_RAW REDIS_ENCODING_INT |
raw int |
散列类型 |
REDIS_ENCODING_HT REDIS_ENCODING_ZIPLIST |
hashtable ziplist |
列表类型 |
REDIS_ENCODING_LINKEDLIST REDIS_ENCODING_ZIPLIST |
linkedlist ziplist |
集合类型 |
REDIS_ENCODING_HT REDIS_ENCODING_INTSET |
hashtable intset |
有序集合类型 |
REDIS_ENCODING_SKIPLIST REDIS_ENCODING_ZIPLIST |
skiplist ziplist |
14.常用命令
set key value |
设置key值 |
get key |
获取键值 |
del key |
删除键值 |
keys * |
查看所有key |
exists key |
判断是否存在 |
type key |
查看键类型 |
incr num (incrby) |
递增数字 |
decr key (decrby) |
递减数字 |
append key value |
向尾部追加 |
mset key value key value/ mget key key |
设置/获得多个键值 |
hset key field value/hget key field |
散列设置/获取键值 |
hmset/hmget |
设置/获取多个字段值 |
hgetall key |
获取键所有字段字段值 |
hexists key field |
判断字段是否存在 |
hincrby key field |
增加字段数字 |
hdel key field field |
删除一个或多个字段 |
hkeys key |
只获取字段名 |
hvals key |
只获取字段值 |
hlen key |
获得字段数量 |
lpush/rpush key value value |
向列表两端增加元素 |
lphp/rpop key |
从列表两端弹出元素 |
llen key |
获取列表中元素个数 |
lrange key start stop |
获得列表片段 |
lrem key count value |
删除列表中指定的值 |
lindex key index/lset key index value |
获得/设置指定索引元素值 |
linsert key before|after pivot value |
向列表中插入元素 |
rpoplpush source destination |
将一个元素从一个列表转到另一个列表 |
sad/srem key member member |
增加/删除元素 |
smembers key |
获得集合中的所有元素 |
sismember key member |
判断元素是否在集合中 |
sdiff/sinter/sunion key key |
集合间运算 |
scard key |
获得集合中元素个数 |
sdiffstore/sinterstore/sunionstore destination key |
集合间运算并存储 |
srandmember key count |
随机获得集合中的元素 |
spop key |
从集合中弹出一个元素 |
zadd key score member |
增加元素 |
zscore key member |
获得元素的分数 |
zrange/zrevrange key start stop |
获得排名在某个范围的元素列表 |
zrangebyscore key min max |
获得指定分数范围的元素 |
zincrby key increment member |
增加某个元素的分数 |
zcard key |
获得集合中元素的数量 |
zcount key min max |
获得指定分数范围内的元素个数 |
zrem key member |
删除一个或多个元素 |
zremrangebyrank key start stop |
按照排名范围删除元素 |
zremrangebyscore key min max |
按照分数范围删除元素 |
zrank/zrevrank key member |
获得元素的排名 |
zinterstore destination numkeys key |
计算有序集合的交集 |