####下载
```bash
wget http://download.redis.io/releases/redis-4.0.9.tar.gz
```
####解压移动
tar -xvf redis-4.0.9.tar.gz
mv redis-4.0.9/ /usr/local/
####编译测试
sudo make test
####启动服务
redis-server
redis-server &
####停止
redis-cli shutdown
####查看版本
redis-server -v
####查看redis运行状态
ps aux|grep redis
lsof -i tcp:6379


####登录redis
cd /usr/local/redis-4.0.9
redis-cli -h 127.0.0.1 -p 6379
####退出连接
quit
####服务器的信息和统计
info
####测试服务器是否存活
ping
####设置key
set foo bar
####取值
get foo
####判断某个key是否存在
exists foo
####删除key
del foo
####key类型
type foo


####加载源
```java

redis.clients
jedis
2.8.2

```

示例

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; import java.util.List;
import java.util.Set;
import java.util.Iterator;
import redis.clients.jedis.Jedis; @Controller
public class RedisController {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
//查看服务是否运行
System.out.println("服务正在运行: " + jedis.ping());
// 清空数据
System.out.println("清空库中所有数据:" + jedis.flushDB()); //key-value
System.out.println("============================================");
jedis.set("a", "day1"); // 存数据
System.out.println("a的value为" + jedis.get("a")); // 取数据
jedis.append("a", "-day2");
System.out.println("追加后a的value为" + jedis.get("a")); // 输出系统中所有的key
System.out.println("所有的redis-key为:");
Set<String> keys = jedis.keys("*");
Iterator<String> it=keys.iterator();
while(it.hasNext()){
String key = it.next();
System.out.println(key);
} //判断key是否存在,存在则删除
if(jedis.exists("a")){
jedis.del("a");
System.out.println("key为a的值存在已删除");
}else{
System.out.println("key为a的值不存在");
} //list,l对应左边队头,r对应右边队尾
System.out.println("============================================");
jedis.del("list1");
//lpush是在队列头部插入元素,rpush是在尾部插入元素
jedis.lpush("list1", "day1");
jedis.lpush("list1", "day2");
jedis.lpush("list1", "day3");
jedis.lpush("list1", "day4");
System.out.println("list:" + jedis.lrange("list1", 0, -1));
System.out.println("list长度为:" + jedis.llen("list1")); List<String> list = jedis.lrange("list1", 0 ,-1);
for(int i=0; i<list.size();i++){
System.out.println("列表为:" + list.get(i));
}
//删除指定的值
jedis.lrem("list1", 2, "day2");
System.out.println("删除后:" + jedis.lrange("list1", 0, -1));
//lpop是在队列头部移除元素,rpop是在尾部移除元素
jedis.lpop("list1");
System.out.println("lpop队头移除元素后" + jedis.lrange("list1", 0, -1));
jedis.rpop("list1");
System.out.println("rpop从队尾移除元素后" + jedis.lrange("list1", 0, -1)); //set集合(无序)
System.out.println("============================================");
jedis.del("dayset");
jedis.sadd("dayset", "day1");
jedis.sadd("dayset", "day2");
jedis.sadd("dayset", "day3");
System.out.println("dayset无序集合中的全部元素" + jedis.smembers("dayset"));
Set<String> set = jedis.smembers("dayset");
Iterator<String> itset = set.iterator();
while(itset.hasNext()){
Object obj = itset.next();
System.out.println(obj);
} //zset有序集合
System.out.println("============================================");
jedis.zadd("zsetday" , 3 , "day1");
jedis.zadd("zsetday" , 2 , "day2");
jedis.zadd("zsetday" , 1 , "day3");
System.out.println("有序集合中的所有元素为:" + jedis.zrange("zsetday", 0, -1));
System.out.println("有序集合中的元素个数为:" + jedis.zcard("zsetday"));
System.out.println("day3的权重为:" + jedis.zscore("zsetday", "day3")); //hash
System.out.println("============================================");
jedis.hset("hashday", "day1", "111");
jedis.hset("hashday", "day2", "222");
jedis.hset("hashday", "day3", "333");
System.out.println("hash中所有的key为" + jedis.hkeys("hashday"));
System.out.println("hash中所有的value为:" + jedis.hvals("hashday"));
jedis.hdel("hashday", "day2");
System.out.println("删除day2后所有的value为:" + jedis.hvals("hashday"));
System.out.println("删除day2后key为day2是否存在:" + jedis.hexists("hashday", "day2"));
System.out.println("key为day3的value为:" + jedis.hget("hashday", "day3")); }
}

输出

连接成功
服务正在运行: PONG
清空库中所有数据:OK
============================================
a的value为day1
追加后a的value为day1-day2
所有的redis-key为:
a
key为a的值存在已删除
============================================
list:[day4, day3, day2, day1]
list长度为:4
列表为:day4
列表为:day3
列表为:day2
列表为:day1
删除后:[day4, day3, day1]
lpop队头移除元素后[day3, day1]
rpop从队尾移除元素后[day3]
============================================
dayset无序集合中的全部元素[day2, day1, day3]
day2
day1
day3
============================================
有序集合中的所有元素为:[day3, day2, day1]
有序集合中的元素个数为:3
day3的权重为:1.0
============================================
hash中所有的key为[day2, day3, day1]
hash中所有的value为:[111, 222, 333]
删除day2后所有的value为:[111, 333]
删除day2后key为day2是否存在:false
key为day3的value为:333

redis环境搭建和java应用的更多相关文章

  1. Redis环境搭建和代码测试及与GIS结合的GEO数据类型预研

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 1.1传统MySQL+ Memcached架构遇到的问题 My ...

  2. redis环境搭建及一主二从三哨兵模式配置

    一.单机redis环境搭建 1.安装: OS:linux redhat6.5 下载redis 官网下载链接:https://redis.io/download 把安装包上传到服务器,进行解压 [roo ...

  3. Redis环境搭建(Linux)

    1.简介       redis是一个开源的key-value数据库.它又经常被认为是一个数据结构服务器.因为它的value不仅包括基本的string类型还有 list,set ,sorted set ...

  4. 一.redis 环境搭建

    1.简介       redis是一个开源的key-value数据库.它又经常被认为是一个数据结构服务器.因为它的value不仅包括基本的string类型还有 list,set ,sorted set ...

  5. nginx + lua +redis环境搭建

    环境搭建,其实主要是lua的环境,这个环境够麻烦的,在网上找了很多前辈的文章,终于完成了 ,安装redis wget http://download.redis.io/releases/redis-3 ...

  6. django+celery+redis环境搭建

    初次尝试搭建django+celery+redis环境,记录下来,慢慢学习~ 1.安装apache 下载httpd-2.0.63.tar.gz,解压tar zxvf httpd-2.0.63.tar. ...

  7. Appium 1.6.4 环境搭建流程(Java, Android+IOS, Windows+Mac)

    Appium1.6.4已经出来一段时间了,快速给大家串一下怎么搭建,贴了下载链接 1 基础环境: Windows + Mac: Java JDK 1.8+ (需配置环境变量),Appium1.6.4的 ...

  8. Redis环境搭建(MacOS)

    Redis是一个开源的key-value类型的存储系统,大部分数据存在于内存中,所有读写速度十分快.其支持的存储value数据类型有多种,如:strings.hashes.lists.sets.sor ...

  9. Redis环境搭建

    一.准备的安装包 windows虚拟机软件:VMware Workstation Pro 12 linux安装文件:CentOS-7-x86_64-Minimal-1511.iso 远程登录软件:pu ...

随机推荐

  1. DialogFragment 将数据传回Activity的onActivityResult方法

    在MyActivity中 弹出一个DialogFragment (某一个控件的点击事件) search= findViewById(R.id.search); search.setOnClickLis ...

  2. 字符串hash的学习部分 可以算是模板?

    资料来自于http://www.bilibili.com/video/av7230433/ 定义这个字符串为s ①单hash hash[i] = (hash[i - 1] * p + idx(s[i] ...

  3. 如何阻止自动更新‘updated_at’和'created_at'

    可以在模版中添加一条代码: public $timestamps = false;

  4. 在Java中,你真的会日期转换吗

    1.什么是SimpleDateFormat 在java doc对SimpleDateFormat的解释如下: SimpleDateFormat is a concrete class for form ...

  5. nginx 配置代理某个路径

    location /test{ proxy_pass http://localhost:8765/test; proxy_set_header Host $http_host; } 其中红色的那句可以 ...

  6. css3旋转、过渡、动画属性

    1.transform 该属性对元素进行旋转.缩放.移动和倾斜 translate元素从当前位置移动 rotate元素顺时针旋转 scale元素的尺寸增大或减小 skew元素翻转 2.transiti ...

  7. PIP安装时报The repository located at pypi.douban.com is not a trusted or secure host and is being ignore

    C:\WINDOWS\system32>pip install scrapyCollecting scrapy The repository located at pypi.douban.com ...

  8. Balanced and stabilized quicksort method

    The improved Quicksort method of the present invention utilizes two pointers initialized at opposite ...

  9. 64_r3

    rubygem-resque-cleaner-0.3.0-5.fc24.noarch.rpm 24-Sep-2016 22:26 22422 rubygem-resque-cleaner-doc-0. ...

  10. /proc/sys 子目录的作用

    该子目录的作用是报告各种不同的内核参数,并让您能交互地更改其中的某些.与 /proc 中所有其他文件不同,该目录中的某些文件可以写入,不过这仅针对 root. 其中的目录以及文件的详细列表将占据过多的 ...