redis安装
Posted duguangming
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis安装相关的知识,希望对你有一定的参考价值。
redis 中文官网:http://www.redis.cn/
简介:
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
特点:
速度快
Redis能读的速度是110000次/s,写的速度是81000次/s ,数据存在内存中
支持丰富数据类型
支持string,list,set,sorted set,hash...
原子性(支持事务)
Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
支持持久化
edis提供了不同级别的持久化方式,一种是RDB,一种AOF。
RDB:在指定的时间间隔能对数据进行快照存储(隔一段时间,把内存里的数据转存在硬盘里的文件)
AOF:每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以redis协议追加保存每次写的操作到文件末尾.Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大.
memecached基于内存的nosql(not only sql)数据库,不能够持久化。
支持多种语言:
redis安装:
准备工作
先要安装gcc-c++
yum install -y gcc-c++
下载redis
linux下载地址:wget http://download.redis.io/releases/redis-4.0.1.tar.gz
-c 断点续传 -b后台下载
创建安装目录:
mkdir /usr/redis
解压到上面创建目录:
tar -zxvf redis-4.0.1.tar.gz -C /usr/redis
安装redis
进入解压的目录:
cd /usr/redis/redis-4.0.1
编译: make
安装: make install PREFIX=指定安装目录
通常安装在usr下 :
make install PREFIX=/usr/redis
启动
方法1:进入bin目录 ./redis-server (进入安装目录 下)
方法2:复制安装包中 redis.conf 到安装目录bin下 修改里面守护进程配置为 daemonize yes
(方法2启动方式可以redis启动,是后台运行,无需新开窗口就可以测试)
在bin目录下cp redis.conf到bin目录
cd /usr/redis
cd bin
[[email protected] bin]# cp ../redis-4.0.1/redis.conf .
. 代表当前目录
服务器端启动:./redis-server redis.conf
查看是否启动:ps aux|grep redis
客户端连接,仍然是bin下的执行:
cd /usr/redis
cd bin
./redis-cli 回车
使用ping 命令,如果得到 pong说明可以用
在客户端使用该命令退出:shutdown NOSAVE
exit
redis常用命令
地理空间(geospatial)
添加4个城市:
geoadd china 116.41 39.91 bj 121.43 34.50 sh 114.06 22.61 sz 113.65 34.76 zz
返回两个城市的直线距离(默认单位为米,可以使用km)
geodist china zz sz
返回113.65 34.76经纬度为中心,800公里之内的城市
georadius china 113.65 34.76 800 km
返回指定城市的经纬度
geopos china sz zz
字符串 string(字符串是Redis中最基本的数据类型,它能够存储任何类型的字符串)
( set get del mset mget incr decr appdend)
散列类型 hashmap (散列类型相当于Java中的HashMap,他的值是一个字典,保存很多key,value对)
(hset hget hmset hmget hgetall hdel hkeys hvals hlen del删除key)
列表类型 list(列表类型(list)用于存储一个有序的字符串列表,常用的操作是向队列两端添加元素或者获得列表的某一片段)(lpush rpush lpop rpop llen lindex )
集合类型 set(集合中每个元素都是不同的)
(sadd srem smembers sismember scard spop srandmember)
有序集合类型 sortedset(有序集合类型与集合类型的区别就是他是有序的)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。
(zadd zrem zcard zcount)
keys *
flushall 清空所有数据
6,关闭redis
shutdown save/nosave (在连接窗口使用shutdown 使用保存或者不保存数据)
quit(退出后,redis服务会关闭,再次连接需要启动服务再次调用./redis-server redis.conf)
java操作redis:
maven依赖: <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.3</version> </dependency> //初始化jedis连接 Jedis jedis = new Jedis("localhost",6379); //测试redis服务器的连通性 String pong = jedis.ping(); System.out.println(pong); //字符串 string jedis.set("aaa", "111"); // 获取存储的数据并输出 System.out.println("redis 存储的字符串为: "+ jedis.get("aaa")); //散列 hashmap Map<String, String> map = new HashMap(); map.put("userName", "scott"); map.put("password", "tiger"); map.put("age", "100"); // 将map存入redis中 jedis.hmset("mapa", map); // 取出redis中的map进行遍历 Map<String, String> userMap = jedis.hgetAll("mapa"); for (Map.Entry<String, String> item : userMap.entrySet()) System.out.println(item.getKey() + " : " + item.getValue()); // 列表 list jedis.lpush("lista", "111"); jedis.lpush("lista", "222"); jedis.lpush("lista", "333"); // 获取存储的数据并输出 List<String> list = jedis.lrange("lista", 0 ,2); for(int i=0; i<list.size(); i++) System.out.println("列表项为: "+list.get(i)); // 集合 set jedis.sadd("course","java","c","c#","java","python"); // 自动去重 System.out.println(jedis.smembers("course")); //有序集合 sorted set Map<String,Double> map1 = new HashMap<>(); map1.put("python",2.0); map1.put("java",1.0); map1.put("bigdata",3.0); map1.put("AI",4.0); jedis.zadd("mysort", map1); //正序排列 Set<String> mysort = jedis.zrange("mysort",0,-1); System.out.println(mysort); //Keys 实例 // 获取数据并输出 Set<String> keys = jedis.keys("*"); Iterator<String> it=keys.iterator() ; while(it.hasNext()) String key = it.next(); System.out.println(key);
以上是关于redis安装的主要内容,如果未能解决你的问题,请参考以下文章
RedisRedis 数据库 安装配置访问 ( Redis 简介 | 下载 Redis 安装包 | 安装 Redis 数据库 | 命令行访问 Redis | 使用可视化工具访问 Redis )