现在网站建设都用什么语言,网络服务费是什么,wordpress腾讯地图插件,wordpress如何修改页头Redis可以说是目前最火爆的NoSQL数据库#xff01; 过去几年#xff0c;Memcached很盛行#xff0c;现在有很多公司已将Memcached替换成了Redis。当然#xff0c;很多人替换并不清楚为什么#xff0c;只是感觉不想让主流抛弃#xff0c;这也充分反映了目前Redis的强势。 …Redis可以说是目前最火爆的NoSQL数据库 过去几年Memcached很盛行现在有很多公司已将Memcached替换成了Redis。当然很多人替换并不清楚为什么只是感觉不想让主流抛弃这也充分反映了目前Redis的强势。 Redis是基于内存的数据结构存储开源系统采用C语言编写运行效率极高。可作为内存数据库、缓存或消息代理中间件前两种情况实际当中使用更多些。 Redis与Memcached一样以key,value二元键值对的形式存储数据但与Memcached最大的不同在于Redis支持更多的数据类型包括String、Hash、List、Set、Sorted Set等。 Redis目前发展很快当前版本是3其官方网址是http://redis.io/ 源码地址https://github.com/antirez/redis 由于采用ANSI C编写Redis官方支持POSIX类型系统如linux等Windows环境下有第三方的移植程序但一般只做开发调试用真正部署还是运行在linux系统上才能发挥其威力。 Redis的安装部署R 下面我们就在CentOS 6上进行安装部署具体步骤如下 1.wget http://download.redis.io/releases/redis-3.0.5.tar.gz 这是当前的最新版本可以到官网下载页面查看最新版本或安装以前的版本。 2.tar xzf redis-3.0.5.tar.gz 解压后cd redis-3.0.5 到Redis主目录 3.make 编译注意可能会出现机器上缺少依赖包的提示按提示安装依赖包直到make成功。 4.make test 运行测试一路显示ok通过(需要安装TCL依赖包见提示)。 这时在src目录下会多出几个可执行程序其中redis-server是服务主程序。我们运行redis-server --help看看有哪些参数 5. ./src/redis-server 后台启动Redis会显示成功画面但会有三个警告提示。redis的提示很详细我们照着做修改即可。 echo 511 /proc/sys/net/core/somaxconn vim /etc/sysctl.conf 加入vm.overcommit_memory 1 vim /etc/rc.local 加入 echo never /sys/kernel/mm/transparent_hugepage/enabled 后两个重启生效。再次运行redis-server命令只存在一个没有指定config文件使用缺省配置的警告。启动画面如下 我们看到服务已启动监听的端口号是6379 6. ./src/redis-cli 运行提供的客户端程序体验下简单操作命令。 redis所有支持命令在 http://redis.io/commands 上可以查到。 7. ./redis-cli shutdown 关闭redis服务。 8. make install 将redis命令安装到bin目录下成为系统命令。 Redis配置参数 前面我们启动redis没有指定配置文件一般情况下我们需要指定配置文件启动。在redis主目录下有个redis.conf配置文件模板。cp redis.conf /etc 复制到etc目录下。 redis.conf文件里的配置参数有详细的解释说明下面是几个常用参数 daemonize 缺省是no, 一般使用改为yes,这样启动redis-server时自动是后台运行方式。 port 6379 指定端口号可以调整自己需要的端口值。 tcp-backlog 511 这个值就是前面需要调整somaxconn值的原因它涉及到TCP连接时accept queue队列的大小是取它们的最小值。这个参数和redis高并发处理请求密切相关根据实际运行情况调整。 bind 只接受来自某IP的请求安全考虑缺省不限制。 tcp-keepalive 60 主动检测客户端连接是否正常官方建议是60s loglevel notice 定义日志级别 logfile 定义日志文件位置 save 900 1 存储数据到硬盘策略这条定义的是900s内如有1个key值发生变化就执行save存数据快照到硬盘操作。 dbfilename dump.rdb 指定数据快照文件名 dir ./ 指定数据快照文件目录 调整好参数后我们用redis-server /etc/redis.conf 命令启动即可。 Java程序访问Redis Redis支持的客户端操作语言非常丰富达到40多种。就Java来说也有很多访问驱动实现我们最常用的还是Jedis。 Jedis源码地址: https://github.com/xetorthio/jedis 活跃度很高能够跟上Redis服务端发布的最新功能而且使用简单基本和Redis命令行语法相似。 下面我们就在spring工程下简单使用下Jedis: 1. pom.xml 中配置Jedis和单元测试jar包。 dependency groupIdredis.clients/groupId artifactIdjedis/artifactId version2.7.2/version /dependency dependency groupIdjunit/groupId artifactIdjunit/artifactId version4.10/version scopetest/scope /dependency dependency groupIdorg.springframework/groupId artifactIdspring-test/artifactId version${spring.version}/version scopetest/scope /dependency 2. spring配置xml文件配置Jedis连接服务器相关参数。 bean idpoolConfig classredis.clients.jedis.JedisPoolConfig property namemaxTotal value4096/ property namemaxIdle value200/ property namemaxWaitMillis value3000/ property nametestOnBorrow valuetrue / property nametestOnReturn valuetrue / /bean bean idjedisPool classredis.clients.jedis.JedisPool constructor-arg index0 refpoolConfig/ constructor-arg index1 value127.0.0.1/ constructor-arg index2 value6379 typeint/ /bean 3. 编写测试代码 RunWith(SpringJUnit4ClassRunner.class) ContextConfiguration(locations classpath:spring-test.xml) public class RedisTest extends AbstractJUnit4SpringContextTests { Autowired private JedisPool jedisPool; Test public void basicOpTest(){ Jedis jedis jedisPool.getResource(); jedis.set(person.001.name, frank); jedis.set(person.001.city, beijing); String name jedis.get(person.001.name); String city jedis.get(person.001.city); assertEquals(frank,name); assertEquals(beijing,city); jedis.del(person.001.name); Boolean result jedis.exists(person.001.name); assertEquals(false,result); result jedis.exists(person.001.city); assertEquals(true,result); jedis.close(); } } eclipse下JUnit Test运行单元测试通过 读完本篇你应该了解如下内容 1.Redis是基于内存的数据存储系统数据以key,value形式存储。value支持多种数据类型包括String、Hash、List、Set、Sorted Set等。 2.Redis采用C语言开发安装运行在linux等POSIX系统上windows系统上有第三方移植可做开发测试。 3.Java常用的Redis客户端编程驱动是Jedis。 本文摘自微信号:Java架构师 转载于:https://www.cnblogs.com/jelynn/p/5192236.html