Redis基本使用:
Redis中的键名:
对于redis中键名无要求无限制。虽然redis中对键名无要求但是实际开发过程中同样设置键名具备一定的含义
Redis中公共命令:针对所有数据类型都可以使用的命令
exists key:检查key是否存在
Del key:作用删除某个key
type key:检查key对应的数据类型
keys pattern:查找满足条件的所有key
此命令测试可以使用在实际项目中不用此命令
rename:修改键名称
语法:rename oldkey newkey
expire key:设置key的有效时间 语法 expire 键名 时间(秒数)
ttl key :查看key的过期时间
对于memcache内存回收机制,当某个key失效不会自己坚持key是否失效而是当下次get时检查是否过期,如果已经过期回收内存空间。对于redis会自动的维护每一个key的过期时间一旦过期就会自动的收回对于的内存空间
select db:选择数据库 语法:select 数字
默认情况下redis支持16个数据库。是由配置文件中databases 所指定的数字决定。对于redis数据库与mysql中数据库概念不一样。在redis中的数据库即将内存划分区域.
flushdb:清空数据库下的数据:
redis中的数据类型:
1.字符串类型:(String)
字符串数据类型是其他所有数据类型的基本。在redis中字符串数据类型,包括了常用的字符串、整型、浮点。
字符串常用命令:
2.链表数据类型:(list )
链表即多个单独的字符串数据类型的数据按照一定的顺序排列。对链表可以在表头与表尾进行元素的添加与删除。链表可以实现队列与栈效果
链表的常用命令:
关于链表可以在项目中需要使用排队的逻辑使用。例如商品抢购、邮件的批量发送,最近登录用户
3.哈希数据类型:Hash(字典)
hash是一个string类型的field和value的映射表。hash特别适合用于存储对象。相较于将对象的每个字段存成单个string类型。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。
常用命令:
4.无序集合:Set(集合)
将多个单独的字符串类型的数据集合在一起。在集合中每个元素都不可能出现重复。对于集合与集合之间可以求交集、并集、差集。集合数据类型可以在社交项目中使用。例如计算共同好友。
基本命令:
5.有序集合:zset(sorted set:有序集合)
有序集合与无序集合一致,但是额外增加了一个权重(分值)可以进行排序
zadd key score member 添加元素到集合中
zrem key member 删除指定元素
zcard key返回集合中的元素个数
zincrby key num member 将member上的分值增加num
zrank key member返回指定元素在集合中的排名 score从小到大排名
zrange key start end 获取集合中指定区间的元素分值排序
redis的持久化:
定期将内存中的数据保存到磁盘中。一旦服务器重启完成会自动的将数据还原到内存中。
目的:为了解决重启数据丢失
快照(snap shotting为默认的方式)
定期使用快照将数据直接保存在磁盘中。默认会报错在服务对应的同级目录
数据还原为自动方式无需手动操作
对于快照创建备份文件有两种方式 分别为手动方式与自动方式
手动方式:
Save:直接创建备份文件在备份期间会阻塞客户端的操作
Bgsave:会在创建一个单独的进程来创建备份文件即使用此方式在备份期间不会阻塞客户端的操作
自动备份:
关于自动备份频率受限制与在配置文件中所指定的参数