快速入门
<p><strong>一、redis介绍</strong>
Redis是开源的(BSD许可)内存数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,例如 字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,带有半径查询的流空间索引和流。Redis具有内置的复制,Lua脚本,LRU逐出,事务和不同级别的磁盘持久性,并通过以下方式提供高可用性Redis Sentinel和Redis Cluster自动分区。</p>
<p>您可以 对这些类型运行原子操作,例如追加到字符串; 在哈希中增加值 ; 将元素推送到列表 ; 计算集的交集, 并集和差 ; 或获得排序集中排名最高的成员。</p>
<p>为了获得出色的性能,Redis使用 内存数据集。根据您的用例,您可以通过不时地 一次将数据集转储到磁盘上,或者通过将每个命令附加到log来持久化它。如果只需要功能丰富的网络内存缓存,则可以选择禁用持久性。</p>
<p>Redis还支持琐碎的设置主从异步复制,具有非常快速的非阻塞式第一次同步,自动重新连接以及网络拆分中的部分重新同步。</p>
<p><strong>二、快速入门</strong></p>
<p>pom.xml引入如下:</p>
<pre><code class="language-java"><dependency>
<groupId>com.nisbos</groupId>
<artifactId>nisbos-cache</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency></code></pre>
<blockquote>
<h6>1、基于spring的项目</h6>
</blockquote>
<ul>
<li>1.1、在yml或property配置文件中设置所需的参数.(此步骤非必需,若跳过此步骤将生效默认配置);</li>
</ul>
<pre><code class="language-java"> spring:
redis:
cluster:
nodes: 10.1.4.71:7001,10.1.4.71:7002,10.1.4.71:7003,10.1.4.71:7004,10.1.4.71:7005,10.1.4.71:7006
password: 123456
host: 10.1.4.71
jedis:
pool:
max-active: 100
max-idle: 8
max-wait: -1
min-idle: 10
password: 123456
port: 6379
timeout: 10000</code></pre>
<ul>
<li>1.2、在项目pom文件中增加包引用:</li>
</ul>
<pre><code class="language-java"> <dependency>
<groupId>com.nisbos</groupId>
<artifactId>nisbos-cache</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency></code></pre>
<ul>
<li>1.3、在启动类上增加相应注解即可. 如</li>
</ul>
<pre><code class="language-java"> @SpringBootApplication
@EnableRedis
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}</code></pre>
<ul>
<li>1.4、需要调用的类中使用@Autowired注入IRedisService类,并在需要调用处直接使用iRedisService接口中的函数:</li>
</ul>
<pre><code class="language-java"> @Autowired
private IRedisService iRedisService;
@GetMapping()
String Test() {
iRedisService.set("erin","111111");
System.out.println("缓存缓存:"+iRedisService.get("erin"));
}</code></pre>
<blockquote>
<h6>2、非spring项目</h6>
</blockquote>
<ul>
<li>2.1、在项目pom文件中增加包引用:</li>
</ul>
<pre><code class="language-java"> <dependency>
<groupId>com.nisbos</groupId>
<artifactId>nisbos-cache</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency></code></pre>
<ul>
<li>2.2、在项目中增加一个单例工具类, 如</li>
</ul>
<pre><code class="language-java"> public class ICacheUtil {
private static IRedisService redisService = FactoryProducer.getRedisService("localhost", 6379, 2000, "123456");
public static IRedisService service() {
return redisService;
}
private ICacheUtil() {
}
}</code></pre>
<ul>
<li>2.3、需要调用处使用工具类获取IRedisService,并使用对应的函数处理数据:</li>
</ul>
<pre><code class="language-java"> IRedisService redisService = ICacheUtil.service();
Object a = redisService.get("张三");</code></pre>
<p><strong>三、函数调用说明</strong></p>
<ul>
<li>
<p><a href="https://www.showdoc.cc/chlingm?page_id=4156908860534393" title="指定缓存失效时间">指定缓存失效时间</a></p>
</li>
<li>
<p><a href="https://www.showdoc.cc/chlingm?page_id=4157190006745386" title="判断key是否存在">判断key是否存在</a></p>
</li>
<li>
<p><a href="https://www.showdoc.cc/chlingm?page_id=4157214777476237" title="删除缓存">删除缓存</a></p>
</li>
<li>
<p><a href="https://www.showdoc.cc/page/edit/680055162763732/4216557761842677" title="根据key获取redis中存放的value">根据key获取redis中存放的value</a></p>
</li>
<li><a href="https://www.showdoc.cc/chlingm?page_id=4149126938463691" title="2、把key-value存放到redis数据库中">把key-value存放到redis数据库中</a></li>
</ul>
<p>// ================================set=================================</p>
<ul>
<li>
<p><a href="https://www.showdoc.cc/chlingm?page_id=4173931079841992" title="向set添加一条记录">向set添加一条记录</a></p>
</li>
<li>
<p><a href="https://www.showdoc.cc/chlingm?page_id=4173994036487606" title="获取给定key中元素个数">获取给定key中元素个数</a></p>
</li>
<li>
<p><a href="https://www.showdoc.cc/chlingm?page_id=4175005122930092" title="判断一个给定的值是否在集合中存在">判断一个给定的值是否在集合中存在</a></p>
</li>
<li><a href="https://www.showdoc.cc/chlingm?page_id=4175093256279965" title="返回集合中的所有成员">返回集合中的所有成员</a></li>
</ul>
<p>// ================================SortSet=================================</p>
<ul>
<li>
<p><a href="https://www.showdoc.cc/chlingm?page_id=4175259894871578" title="- 向集合中增加一条记录">向集合中增加一条记录</a></p>
</li>
<li>
<p><a href="https://www.showdoc.cc/chlingm?page_id=4175310184793930" title="获取集合中元素的数量">获取集合中元素的数量</a></p>
</li>
<li>
<p><a href="https://www.showdoc.cc/chlingm?page_id=4175389796905144" title="移除有序集 key 中的一个或多个成员">移除有序集 key 中的一个或多个成员</a></p>
</li>
<li><a href="https://www.showdoc.cc/chlingm?page_id=4175409615979722" title="获取给定值在集合中的权重">获取给定值在集合中的权重</a></li>
</ul>
<p>// ================================Lists=================================</p>
<ul>
<li>
<p><a href="https://www.showdoc.cc/chlingm?page_id=4175453502430944" title="获取List长度">获取List长度</a></p>
</li>
<li>
<p><a href="https://www.showdoc.cc/chlingm?page_id=4175486213653366" title="覆盖操作,将覆盖List中指定位置的值">覆盖操作,将覆盖List中指定位置的值</a></p>
</li>
<li>
<p><a href="https://www.showdoc.cc/chlingm?page_id=4175519467554094" title="将List中的第一条记录移出List">将List中的第一条记录移出List</a></p>
</li>
<li><a href="https://www.showdoc.cc/chlingm?page_id=4175555128917039" title="向List头部追加记录">向List头部追加记录</a></li>
</ul>