1:下载http://code.google.com/p/servicestack/wiki/RedisWindowsDownload或者
http://code.google.com/p/redis/downloads/list
2:解压redis-2.0.2,在redis-2.0.2里添加配置文件redis.conf
3测试: a: 打开server 看显示信息 主要看端口
b:cmd进入到redis-2.0.2,执行redis-cli.exe -h 192.168.18.4 -p 6379 -- 本地ip 端口
执行完提示OK
4:使用设置 set mykey test 得到 get mykey 则会显示test
下面用Java做一个程序,放置一个对象到内存中,并取出来。前提是放两个jar,jredis-1.0-rc1.jar和jredis-core-bench-1.0-rc1.jar.myobj是自己定义的一个对象,myobjs是在内存中的名字
设置自定义对象代码:
JRedis jredis = new JRedisClient("192.168.18.4", 6379);
jredis.ping();//
long id = jredis.incr("User::next_id");
String key = "objects::User::" + id;
jredis.set(key, myobj);
jredis.sadd("myobjs", myobj);
jredis.quit();
查询对象:
JRedis jredis = new JRedisClient("192.168.18.4", 6379);
jredis.ping();//
List<User> members = DefaultCodec.decode(jredis.smembers("users"));
for (User user : members) {
System.out.println("id:" + user.getId());
}
jredis.quit();
部分命令:
Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用。在编程时,比如使用Redis 的Java语言包,这些命令都有对应的方法,比如上面例子中使用的sadd方法,就是对集合操作中的SADD命令。下面将Redis提供的命令做一总结。
连接操作相关的命令
quit
:关闭连接(connection)
auth
:简单密码认证
对value操作的命令
exists(key
)
:确认一个key是否存在
del(key
)
:删除一个key
type(key
)
:返回值的类型
keys(pattern
)
:返回满足给定pattern的所有key
randomkey
:随机返回key空间的一个key
rename(oldname
, newname
)
:将key由oldname重命名为newname,若newname存在则删除newname表示的key
dbsize
:返回当前数据库中key的数目
expire
:设定一个key的活动时间(s)
ttl
:获得一个key的活动时间
select(index
)
:按索引查询
move(key
, dbindex
)
:将当前数据库中的key转移到有dbindex索引的数据库
flushdb
:删除当前选择数据库中的所有key
flushall
:删除所有数据库中的所有key
对String操作的命令
set(key, value
)
:给数据库中名称为key的string赋予值value
get(key
)
:返回数据库中名称为key的string的value
getset(key, value
)
:给名称为key的string赋予上一次的value
mget(key1, key2,…, key N
)
:返回库中多个string(它们的名称为key1,key2…)的value
setnx(key, value
)
:如果不存在名称为key的string,则向库中添加string,名称为key,值为value
setex(key
, time
, value
)
:向库中添加string(名称为key,值为value)同时,设定过期时间time
mset(key1, value1, key2, value2,…key N, value N
)
:同时给多个string赋值,名称为key i
的string赋值value i
msetnx(key1, value1, key2, value2,…key N, value N
)
:如果所有名称为key i
的string都不存在,则向库中添加string,名称key i
赋值为value i
incr(key
)
:名称为key的string增1操作
incrby(key, integer
)
:名称为key的string增加integer
decr(key
)
:名称为key的string减1操作
decrby(key, integer
)
:名称为key的string减少integer
append(key, value
)
:名称为key的string的值附加value
substr(key, start, end
)
:返回名称为key的string的value的子串
对List操作的命令
rpush(key, value
)
:在名称为key的list尾添加一个值为value的元素
lpush(key, value
)
:在名称为key的list头添加一个值为value的 元素
llen(key
)
:返回名称为key的list的长度
lrange(key, start, end
)
:返回名称为key的list中start至end之间的元素(下标从0开始,下同)
ltrim(key, start, end
)
:截取名称为key的list,保留start至end之间的元素
lindex(key, index
)
:返回名称为key的list中index位置的元素
lset(key, index, value
)
:给名称为key的list中index位置的元素赋值为value
lrem(key, count, value
)
:删除count个名称为key的list中值为value的元素。count为0,删除所有值为value的元素,count>0从头至尾删除count个值为value的元素,count<0从尾到头删除|count|个值为value的元素。
lpop(key
)
:返回并删除名称为key的list中的首元素
rpop(key
)
:返回并删除名称为key的list中的尾元素
blpop(key1, key2,… key N, timeout
)
:lpop命令的block版本。即当timeout为0时,若遇到名称为key i
的list不存在或该list为空,则命令结束。如果timeout>0,则遇到上述情况时,等待timeout秒,如果问题没有解决,则对key i+1
开始的list执行pop操作。
brpop(key1, key2,… key N, timeout
)
:rpop的block版本。参考上一命令。
rpoplpush(srckey, dstkey
)
:返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部
对Set操作的命令
sadd(key, member
)
:向名称为key的set中添加元素member
srem(key, member
)
:删除名称为key的set中的元素member
spop(key
)
:随机返回并删除名称为key的set中一个元素
smove(srckey, dstkey, member
)
:将member元素从名称为srckey的集合移到名称为dstkey的集合
scard(key
)
:返回名称为key的set的基数
sismember(key, member
)
:测试member是否是名称为key的set的元素
sinter(key1, key2,…key N
)
:求交集
sinterstore(dstkey, key1, key2,…key N
)
:求交集并将交集保存到dstkey的集合
sunion(key1, key2,…key N
)
:求并集
sunionstore(dstkey, key1, key2,…key N
)
:求并集并将并集保存到dstkey的集合
sdiff(key1, key2,…key N
)
:求差集
sdiffstore(dstkey, key1, key2,…key N
)
:求差集并将差集保存到dstkey的集合
smembers(key
)
:返回名称为key的set的所有元素
srandmember(key
)
:随机返回名称为key的set的一个元素
对zset(sorted set)操作的命令
zadd(key, score, member
)
:向名称为key的zset中添加元素member,score用于排序。如果该元素已经存在,则根据score更新该元素的顺序。
zrem(key, member
)
:删除名称为key的zset中的元素member
zincrby(key, increment, member
)
:如果在名称为key的zset中已经存在元素member,则该元素的score增加increment;否则向集合中添加该元素,其score的值为increment
zrank(key, member
)
:返回名称为key的zset(元素已按score从小到大排序)中member元素的rank(即index,从0开始),若没有member元素,返回“nil”
zrevrank(key, member
)
:返回名称为key的zset(元素已按score从大到小排序)中member元素的rank(即index,从0开始),若没有member元素,返回“nil”
zrange(key, start, end
)
:返回名称为key的zset(元素已按score从小到大排序)中的index从start到end的所有元素
zrevrange(key, start, end
)
:返回名称为key的zset(元素已按score从大到小排序)中的index从start到end的所有元素
zrangebyscore(key, min, max
)
:返回名称为key的zset中score >= min且score <= max的所有元素
zcard(key
)
:返回名称为key的zset的基数
zscore(key, element
)
:返回名称为key的zset中元素element的score
zremrangebyrank(key, min, max
)
:删除名称为key的zset中rank >= min且rank <= max的所有元素
zremrangebyscore(key, min, max
)
:删除名称为key的zset中score >= min且score <= max的所有元素
zunionstore / zinterstore(dstkeyN
, key1,…,keyN
, WEIGHTS w1,…wN,
AGGREGATE SUM|MIN|MAX)
:对N个zset求并集和交集,并将最后的集合保存在dstkeyN中。对于集合中每一个元素的score,在进行AGGREGATE运算前,都要乘以对于的WEIGHT参数。如果没有提供WEIGHT,默认为1。默认的AGGREGATE是SUM,即结果集合中元素的score是所有集合对应元素进行SUM运算的值,而MIN和MAX是指,结果集合中元素的score是所有集合对应元素中最小值和最大值。
对Hash操作的命令
hset(key, field, value
)
:向名称为key的hash中添加元素field<—>value
hget(key, field
)
:返回名称为key的hash中field对应的value
hmget(key, field1, …,field N
)
:返回名称为key的hash中field i
对应的value
hmset(key, field1, value1,…,field N, value N
)
:向名称为key的hash中添加元素field i
<—>value i
hincrby(key, field, integer
)
:将名称为key的hash中field的value增加integer
hexists(key, field
)
:名称为key的hash中是否存在键为field的域
hdel(key, field
)
:删除名称为key的hash中键为field的域
hlen(key
)
:返回名称为key的hash中元素个数
hkeys(key
)
:返回名称为key的hash中所有键
hvals(key
)
:返回名称为key的hash中所有键对应的value
hgetall(key
)
:返回名称为key的hash中所有的键(field)及其对应的value
持久化
save
:将数据同步保存到磁盘
bgsave
:将数据异步保存到磁盘
lastsave
:返回上次成功将数据保存到磁盘的Unix时戳
shundown
:将数据同步保存到磁盘,然后关闭服务
远程服务控制
info
:提供服务器的信息和统计
monitor
:实时转储收到的请求
slaveof
:改变复制策略设置
config
:在运行时配置Redis服务器
参考
Nosql爱好者博客
web构架研究-nosql
http://www.cnblogs.com/redcreen/tag/redis/
redis误区
推荐链接
互联网后端技术
Nosql小组
java开发2.0-nosql
http://jzkangta.iteye.com/
英文好的推荐以下链接:http://nosql-database.org/
分享到:
相关推荐
NOSQL-redis-运维-单机安装
压缩包子文件的文件名称“电脑版Another-Redis-Desktop-Manager.1.5.6.exe”表明这是一个适用于Windows操作系统的可执行文件。安装此程序后,用户可以在本地计算机上运行Another Redis Desktop Manager,连接到远程...
总结起来,PHP队列结合PHP-Redis扩展,提供了一种高效、灵活的后台任务处理方式,适用于各种高并发和异步需求。了解并掌握这一技术,对于提升PHP应用程序的稳定性和效率具有重要意义。在实际项目中,可以根据具体...
3. Scrapy-Redis插件:Scrapy-Redis插件是Scrapy框架的一个插件,用于实现爬虫节点之间的通信和协作。 Scrapy-Redis分布式爬虫环境搭建步骤: 1. 安装Scrapy框架:使用pip install scrapy命令安装Scrapy框架。 2. ...
【NOSQL数据库-Redis快速入门】 NOSQL(Not Only SQL)数据库是近年来新兴的一类数据库系统,它与传统的关系型数据库相比有着显著的区别。NOSQL数据库不支持SQL语法,其数据存储结构通常不遵循关系表模型,而是采用...
【标题】"Windows 64位PHP-Redis扩展" 是专为在Windows操作系统上运行的64位PHP环境设计的一个关键组件。这个扩展使得PHP能够与Redis内存数据存储进行通信,从而实现高效的数据缓存和处理。Redis是一个开源的、基于...
Redis Studio 是一款专为Windows平台设计的Redis图形化界面客户端工具,它为开发人员和管理员提供了方便、直观的方式来与Redis数据库进行交互。Redis是一种高性能的键值存储系统,广泛应用于缓存、数据存储和实时...
【描述】:NoSQL(Not Only SQL)数据库和Redis是一种内存数据存储系统,它们在现代数据管理中扮演着重要角色。NoSQL数据库旨在处理大规模分布式数据,而Redis则是一种高性能的键值存储系统,常用于缓存和实时数据...
总结来说,Redis作为NoSQL数据库的一员,因其高性能、易扩展和丰富的数据结构,被广泛应用在现代互联网项目中。理解并熟练掌握Redis,对于提升系统的性能和应对大数据挑战具有重要意义。同时,了解NoSQL的其他类型如...
Redis客户端,相对来说比较稳定,在数据量比较大的时候不会崩溃。
总的来说,"tomcat85-session-redis工具jar包"是一个增强Tomcat性能和可扩展性的实用工具,它通过整合Redis实现了session的分布式管理,对于需要处理大量并发用户请求且要求高可用性的Web应用来说,这是一个非常有...
作为NoSQL数据库的一种,Redis以其快速的响应速度和高效的数据处理能力而著称。其内存中的存储方式允许数据的高速读写,同时提供了持久化机制,能够将内存中的数据保存到硬盘中,保证数据的安全性。 由于其数据结构...
Nosql-Exploitation-Framework的安装文件,其中附带了在kali-Linux 安装说明“readme-install on kali.txt”,因为是英文写的备注,故也可以参考本博文中具体介绍
Redis是一种基于内存的NoSQL数据库,能够提供高性能的数据存储和检索功能。Redis的主要特点包括: * 基于内存的存储,能够提供高性能的数据存储和检索功能 * 支持多种数据结构,包括字符串、列表、集合、哈希表等 *...
03-redis-redis是一种Nosql数据库.avi 04-redis-redis数据库特点简介.avi 05-redis-安装redis数据库.avi 06-redis-回顾安装redis.avi 07-redis-启动redis服务.avi 08-redis-关闭redis服务.avi 09-redis-redis客户端....
总的来说,cdk8s-redis是Python开发者在Kubernetes环境中构建高效Redis应用的利器,它的出现让云原生环境下的数据库管理变得更加简单和高效。通过掌握这个库,开发者可以更加专注于业务逻辑,而不是基础设施的细节,...
使用Tencentcloud-sdk-python-redis库,我们可以执行一系列操作,包括但不限于: 1. 创建Redis实例:通过调用`CreateInstance`方法,提供实例类型、存储容量、网络配置等信息。 2. 查询Redis实例:使用`...
综上所述,这个"spring分布式+redis3+nosql-最终版源码"项目为开发者提供了一个完整的示例,展示了如何利用Spring构建分布式系统,结合Redis 3实现高效缓存,以及使用NoSQL数据库处理大量数据。通过对这些源码的学习...
综合以上,"ScalaCache-Redis_2.11-0.3.0.zip"和"LucreMatrix.zip"代表了两个不同的领域:一个是后端缓存管理,另一个是前端数据可视化和交互。开发者可以结合两者,利用ScalaCache的Redis支持来创建一个高效的数据...
里面详细记载了Redis的安装与使用,已经对集群结构和哨兵模式的讲解和实现