记录搭建redis用作缓存并且成功运行了一个简单例子的经历
2017-02-21 00:00
519 查看
环境:CentOS7,redis版本:redis-3.2.8
Redis 下载: https://redis.io/
1. 解压安装包
2. 编译(到解压的redis目录下执行make命令),编译过程中发下了有各种各样的警告,但是我没有管,依然编译完成后再进行了一次make
3. 启动服务:进入redis 的 src目录下执行:(命令规则:./redis-server + 空 + 自定义配置 + 空 + &)
出现 Redis 的Logo就表示启动服务成功了
由于我觉得用作于持久数据库不太喜欢,只想把 Redis 用作于缓存使用,取代memcached
先 kill 服务进程,修改配置(redis/redis.conf)
4. 屏蔽 bind IP (因为我想直接在局域网任何人都可以链接,所以屏蔽,免得导致 jedis 链接时出毛病)
5. 找到 requirepass 取消屏蔽,后面的修改为自己想要的密码如:requirepass abcd666
6. 找到Redis自动持久的规则,屏蔽掉
(分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。)
7. 找到 maxmemory 启用,以及下面的 maxmemory-policy 回收策略
当 maxmemory 限制达到的时候 Redis 会使用的行为由 Redis 的 maxmemory-policy 配置指令来进行配置:
使用指定配置方式启动服务:
使用客户端尝试:
如果配置了密码且登录的时候不输入密码也可以登录,但在查询时就会提示:
网上搜了搜好像用得多的就是 Jedis,由于只是想弄一个简单的例子所以没有使用Maven来建项目
我喜欢在Maven仓库去下载jar:
http://central.maven.or 3ff0
g/maven2/redis/clients/jedis/2.9.0/jedis-2.9.0.jar
下面是一个简单的例子,需要了解更多可以自行Google或到官网API
到这里就完毕了,可以跑出个结果:
Redis 下载: https://redis.io/
1. 解压安装包
2. 编译(到解压的redis目录下执行make命令),编译过程中发下了有各种各样的警告,但是我没有管,依然编译完成后再进行了一次make
3. 启动服务:进入redis 的 src目录下执行:(命令规则:./redis-server + 空 + 自定义配置 + 空 + &)
./redis-server ../redis.conf &
出现 Redis 的Logo就表示启动服务成功了
由于我觉得用作于持久数据库不太喜欢,只想把 Redis 用作于缓存使用,取代memcached
先 kill 服务进程,修改配置(redis/redis.conf)
4. 屏蔽 bind IP (因为我想直接在局域网任何人都可以链接,所以屏蔽,免得导致 jedis 链接时出毛病)
#bind 127.0.0.1
5. 找到 requirepass 取消屏蔽,后面的修改为自己想要的密码如:requirepass abcd666
requirepass abcd666
6. 找到Redis自动持久的规则,屏蔽掉
(分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。)
7. 找到 maxmemory 启用,以及下面的 maxmemory-policy 回收策略
maxmemory 100mb #表示最大占用多少内存 maxmemory-policy allkeys-lru #使用什么回收策略
当 maxmemory 限制达到的时候 Redis 会使用的行为由 Redis 的 maxmemory-policy 配置指令来进行配置:
noeviction:返回错误当内存限制达到并且客户端尝试执行会让更多内存被使用的命令(大部分的写入指令,但DEL和几个例外) allkeys-lru: 尝试回收最少使用的键(LRU),使得新添加的数据有空间存放。 volatile-lru: 尝试回收最少使用的键(LRU),但仅限于在过期集合的键,使得新添加的数据有空间存放。 allkeys-random: 回收随机的键使得新添加的数据有空间存放。 volatile-random: 回收随机的键使得新添加的数据有空间存放,但仅限于在过期集合的键。 volatile-ttl: 回收在过期集合的键,并且优先回收存活时间(TTL)较短的键,使得新添加的数据有空间存放。
使用指定配置方式启动服务:
./redis-server ../redis.conf &
使用客户端尝试:
./redis-cli -h 192.168.1.168 -p 10086 -a abcd666 #这是比较明确的登录方式, ./redis-cli -a abcd666 #也可以这样简洁登录
如果配置了密码且登录的时候不输入密码也可以登录,但在查询时就会提示:
网上搜了搜好像用得多的就是 Jedis,由于只是想弄一个简单的例子所以没有使用Maven来建项目
我喜欢在Maven仓库去下载jar:
http://central.maven.or 3ff0
g/maven2/redis/clients/jedis/2.9.0/jedis-2.9.0.jar
下面是一个简单的例子,需要了解更多可以自行Google或到官网API
import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import redis.clients.jedis.Jedis; public class TestRedis { private Jedis jedis; public TestRedis() { //连接redis服务器 jedis = new Jedis("192.168.1.168", 6379); //权限认证 jedis.auth("abcd666"); } public static void main(String[] args) { TestRedis t = new TestRedis(); t.testString(); } /** * redis存储字符串 */ public void testString() { jedis.set("name","zhangsan"); System.out.println(jedis.get("name")); jedis.append("name", " is 张三"); //拼接 System.out.println(jedis.get("name")); jedis.del("name"); //删除某个键 System.out.println(jedis.get("name")); //设置多个键值对 jedis.mset("name","莉莉安","age","18","sex","女"); jedis.incr("age"); //进行加1操作 jedis.expire("name", 10000);//设置过期时间 System.out.println(jedis.get("name") + "-" + jedis.get("age") + "-" + jedis.get("sex")); System.out.println("---> "+jedis.dbSize());//键值对有多少个了 } }
到这里就完毕了,可以跑出个结果:
相关文章推荐
- DNS浅析-Bind软件的使用及搭建一个简单的DNS缓存服务器
- 推荐一个比较不错简单的php运行平台软件PHPnow 搭建 PHP 环境[安装图文教程]
- oracle中某列连续相同值的记录数统计(一个简单的例子)
- 利用一个简单的例子窥探CPython内核的运行机制
- oracle中某列连续相同值的记录数统计(一个简单的例子)
- Eclipse搭建Struts框架,及一个简单的Struts例子
- 通过Jetty搭建一个简单的Servlet运行环境
- redis作为缓存的简单读写例子
- hadoop下执行一个执行一个简单的MapReduce例子记录
- struts2入门-第一个例子==》第一个struts2实例——HelloWorld==》Struts2.0搭建和简单实例==>写一个Steuts2的经典入门案例,做了一个登陆程序作为入门例子
- 一个运行在Web服务器上的远程管理简单例子
- PhpMyAdmin的简单安装和一个mysql到Redis迁移的简单例子
- 一个LinkedList的简单体现(用户缓存手机通话记录)
- 记录一个简单innerHTML例子
- 11g R2 运行root.sh脚本不成功的一个例子: 推荐
- 以一个简单的登录的例子来演示如何搭建struts1环境
- Java动态编译一个简单的例子(我转载的,但是经过修定,可以在Eclipse下运行)
- oracle中某列连续相同值的记录数统计(一个简单的例子)
- 通过一个简单的例子,说明class文件在运行过程中,import中class怎么被加载并执行的
- 使用react-native做一个简单的应用-02项目搭建与运行