$ tar xzf redis-3.2.8.tar.gz
$ cd redis-3.2.8
$ make
$ src/redis-server
$ src/redis-cli
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "123456"
127.0.0.1:6379> config set requirepass "123456789"
OK
键命令:用于管理Redis的键
字符串命令:用于管理Redis字符串类型值
语法:
127.0.0.1:6379> command KEY_NAME
举例:
127.0.0.1:6379> set name xiaoming
127.0.0.1:6379> get name
127.0.0.1:6379> keys * #查询所有的key
127.0.0.1:6379> expire name 60 #设置有效期为60秒,如果没有设置有效期时,永久有效。
127.0.0.1:6379> ttl name #查看某个键剩余有效期。如果永久有效则值为-1,如果失效不存在,则值为-2
127.0.0.1:6379> exists name #查看某个键是否存在 0表示不存在,1表示存在
127.0.0.1:6379> del name #删除某个键
<dependency>
<groupId>redis.clients</ groupId>
<artifactId>jedis</ artifactId>
<version>2.1.0</version>
</dependency>
c) 连接到Redis服务:
public static void main(String[] args){
//连接到本地的Redis服务
Jedis jedis = new Jedis(“localhost”);
//查看服务是否在运行
System.out.println(“Server is running:”+jedis.ping());
jedis.set(“foo”,”bar”);
String value = jedis.get(“foo”);
}
d) 程序中提供RedisAPI接口
public class RedisAPI{
public JedisPool jedisPool;//使用连接池技术,通过spring进行注入实例
public JedisPool getJedisPool(){
return jedisPool;
}
public void setJedisPool(){
this.jedisPool=jedisPool;
}
//get
public String get(String key){
Jedis jedis = jedisPool.getResource();
String value = jedis.get(key);
jedis.returnResource(jedis);//归还连接池
return value;
}
//set
public String set(String key,String value){
Jedis jedis = jedisPool.getResource();
String result = jedis.set(key,value); //返回值:状态码
jedis.returnResource(jedis);//归还连接池
return result;
}
//这个方法可以设置有效期
public String set(String key,int seconds,String value){
Jedis jedis = jedisPool.getResource();
String result = jedis.setex(key,seconds,value); //设置有效期
jedis.returnResource(jedis);
return result;
}
//exists
public boolean exists(String key){
Jedis jedis = jedisPool.getResource();
Boolean result = jedis. exists (key); //设置有效期
jedis.returnResource(jedis);
return result;
}
//ttl
public long ttl(String key){
Jedis jedis = jedisPool.getResource();
Long result = jedis. ttl (key);
jedis.returnResource(jedis);
return result;
}
//del
public long del(String key){
Jedis jedis = jedisPool.getResource();
Long result = jedis. del (key); #返回的是删除key的个数
jedis.returnResource(jedis);
return result;
}
}
e) 在spring配置文件中注入JedisPool实例
<!--redis 配置 开始-->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxActive" value="${redis.maxActive}" />
<property name="maxIdle" value="${redis.maxIdle}" />
<property name="maxWait" value="${redis.maxWait}" />
<property name="testOnBorrow" value="true" />
</bean>
<!-- Config poolConfig, String host, int port, int timeout, String password, int database-->
<bean id="jedisPool" class="redis.clients.jedis.JedisPool" destroy-method="destroy" >
<constructor-arg ref="jedisPoolConfig"/>
<constructor-arg value="${redis.host}"/>
<constructor-arg value="${redis.port}"/>
<constructor-arg value="${redis.timeout}"/>
<constructor-arg value="${redis.pass}"/>
<constructor-arg value="${redis.default.db}"/>
</bean>
<bean id="redisAPI" class="cn.itrip.common.RedisAPI">
<property name="jedisPool" ref="jedisPool"/>
</bean>
<bean id="validationToken" class="cn.itrip.common.ValidationToken">
<property name="redisAPI" ref="redisAPI" />
</bean>
f) 在database.properties文件中添加如下内容:
#redis
redis.host=127.0.0.1
redis.port=6379
redis.pass=redis@WSX!QAZ1234
redis.default.db=0
redis.timeout=3000
redis.maxActive=300
redis.maxIdle=100
redis.maxWait=1000
g) 添加测试类:
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
RedisAPI api= (RedisAPI)ctx.getBean("redisAPI");
api.set("id","100");
bool``ean bool = api.exist("id");
String v = api.get("id");
long sec = api.ttl("id");
System.out.println("bool:"+bool+",v:"+v+",sec:"+sec);
h)redis默认本地访问,要远程访问作如下配置:打开redis.conf
1)将bind参数设置为:0.0.0.0
2)启动时指定:src/redis-server redis.conf
3)可以通过 命令:ps -ef|grep redis查看redis绑定到了哪一个ip
root 8526 8080 0 21:08 pts/2 00:00:00 src/redis-server 0.0.0.0:6379
4)启动客户端命令:src/redis-cli –h 192.168.70.133
5) 关闭防火墙
i)安装Redis图形化界面 Redis Desktop Manager