Redis和Mysql的区别
- mysql是关系型数据库,redis是NOSQL,非关系型数据库。mysql将数据持久化到硬盘,读取数据慢,而redis数据先存储在缓存中,读取速度快
- mysql作为持久化数据库,频繁访问数据库会在反复连接数据库上花费大量时间。redis则会在缓存区存储大量频繁访问的数据,即先访问缓存。
Redis的五大数据类型
- String
- Hash
- List
- Set
- Sorted Set
Redis的存储机制和持久化方案
- RDB–>默认方法
- AOF
Redis是单线程
需要导入redis启动jar包和yml配置redis端口和密码
Redis如何解决key冲突?
- 业务隔离(不同业务使用不同集群)
- 良好的Redis Key的设计(
Redis Key:bx:um:reg:mobile)
实际代码
接口代码
/**
* @author DELL
*/
public interface RedisService {
/**
* 向Redis中存放字符串
* @param key
* @param value
*/
void set(String key,Object value);
/**
* 向Redis中存放字符串[并设置过期时间]
* @param key
* @param value
* @param expire
*/
void set(String key,Object value,Long expire);
/**
* 根据key值获取数据【操作字符串】
* @param key
* @return
*/
Object get(String key);
/**
* 删除指定的键值[操作字符串]
* @param key
*/
void delete(String key);
/**
* 添加数据到list的顶部[操作List]
* @param key
* @param value
* @return
*/
Long lpush(String key,String value);
/**
* 获取List集合中的数据[操作List]
* @param key
* @return
*/
List<Object> range(String key);
/**
* 向List集合中存放集合
* @param key
* @param list
* @return
*/
Long lPushAll(String key,List<Object>list)