Redis学习心得-1

初始Redis-1

1.Redis 基于键值对(key-value)的NoSQL数据库
2.Redis特性
1)速度快
2)基于键值对的数据结构服务器
3)丰富的功能
4)简单稳定
5)客户端语言多
6)持久化
7)主从复制
8)高可用和分布式

3.Redis使用场景
可以做什么:缓存、排行榜系统、计数器应用、社交网络、消息队列系统(小规模数据、热数据)
不可以做什么:大规模数据、冷数据

4.Redis API的理解和使用
4.1 全局命令
1)查看所有键 keys *
2)键总数 dbsize
3)检查键是否存在 exists key
4)删除键 del key 或者del key1 key2
5)键过期 expire key seconds 通过ttl key查看过期时间
6)键的数据类型type key

4.2 数据结构和内部编码
object encoding key

4.3 单线程架构和I/O多路复用模型

5 字符串
5.1 命令
1)常用命令
1.1)设置值
设置值:set key value [ex seconds] [px milliseconds] [nx|xx]
为键设置秒级过期时间:setex key second value
添加键:setnx key value
更新键:set key value xx
1.2)获取值
获取值:get key
1.3)批量设置值
mset key value [key value …]
1.4)批量获取值
mget key [key …]
1.5)计数
自增:incr key
自减:decr key
自增指定数字:incrby key increment
自减脂钉数字:decrbby key decrement
自增浮点数:incrbyfloat key increment

2)不常用命令
2.1)追加值
追加值:append key value
2.2)字符串长度:strlen key
2.3)设置并返回原值:getset key value
2.4)设置指定位置的字符:setrange key offset value
2.5)获取部分字符串:getrange key start end

5.2 内部编码
字符串类型的内部编码有3种
1)int:8个字节的长整型
2)embstr:小于等于39个字节的字符串
3)raw:大于39个字节的字符串

6 哈希
6.1 命令
1)设置值:hset key field value
2)获取值:hget key filed
3)删除field:hdel key field [field…]
4)计算field个数:hlen key
5)批量设置或获取:hmset key field value / hmget key field
6)判断field是否存在:hexists key field
7)获取所有field:hkeys key
8)获取所有value:hvals key
9)获取所有的field-value
10)自增:hincrby key field
11)计算value的字符串长度:hstrlen key field

6.2 内部编码
1)压缩列表ziplist
2)哈希表hashtable

6.3 使用场景
关系型数据库存储
哈希类型存储
1)原生字符串类型:每个属性一个键,不推荐
2)序列化字符串类型:将用户信息序列化后用一个键保存
3)哈希类型:每个用户属性使用一对field-value,但是只用一个键保存

今天先分享到这里

你可能感兴趣的:(redis,redis)