-
Jedis
Jedis是Redis官网首选的Java客户端开发包
https://github.com/xetorthio/jedis
commons-pool2-2.3.jar
jedis-2.7.0.jar
打开服务器接口:
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 端口号6379 -就ACCEPT
重启防火墙:service iptables restart
单实例:
//1.设置IP和端口
Jedis jedis = new Jedis("192.168.32.130",6379);
//2.保存数据
jedis.set("name","imooc");
//3.获取数据
String value = jedis.get("name");
System.out.println(value);
//4.释放资源
jedis.cose();
连接池:
//获得连接池配置
JedisPoolConfig config = new JedisPoolConfig();
//设置最大连接数
config.setMaxTotal(30);
//设置最大空闲连接数
config.setMaxIdle(10);
//获得连接池
JedisPool jedispoool = new JedisPool(config,"192.168.32.130",6379);
//获得核心对象
Jedis jedis = null;
try{
//通过连接池获得链接
jedis = JedisPool.getResource();
//设置数据
jedis.set("name","imooc");
//获得数据
String value = jedis.get("name");
System.out.println(value);
}catch(Exception e){
e.printStrackTrace
}finally{
if(jedis != null){
jedis.close();
}
if(jedisPool != null){
jedisPool.close();
}
}
查看全部 -
redis安装:
yum istall gcc-c++
tar -zxvf 压缩文件.tar.gz
cd 解压后的文件
make
make PREFIX=安装路径 install
cp redis.conf 安装路径/redis
启动redis: cd bin 前端启动 ./redis-server 后端启动,修改配置文件 vim redis.conf daemonize yes ./bin/redis-server ./redis.conf 查看是否启动: ps -ef | grep -i redis 关闭: ./bin/redis-cli shutdown 进入客户端: ./bin/redis-cli set key value get key del key keys *
查看全部 -
Redis:
它是一个高性能键值对数据库,它支持的键值数据类型:
字符串类型、列表类型、散列类型、集合类型、有序集合类型
Redis的应用场景
缓存、任务队列、应用排行榜、网站访问统计、数据过期处理、分布式集群架构中的session分离
查看全部 -
为什么需要NoSQL?
高并发读写
海量数据的高效率存储和访问
高可扩展性和高可用性。
NoSQL数据库的四大分类:
键值存储
列存储
文档数据库
图形数据库
NoSQL的特点:
易扩展
大数据量,高性能
灵活的数据模型
高可用
查看全部 -
NoSQL数据库的四大分类:
键值存储
列存储
文档数据库
图形数据库
查看全部 -
NoSQL = not only sql 非关系型数据库
CounchDB
Redis
Cassandra
mongoDB
riak
membase
查看全部 -
; 一个redis实例可以包含多个数据库,最多可以提供16个数据库,下标是从0到15,通过select number 切换数据库
move set number : 把名称为set的集合移动到数据库number中
multi : 开启开务
exec : 提交事务
discard : 回滚事务
查看全部 -
keys * : 查看所有集合
keys e? : 显示与某个以某个字符串开头的元素
exists e : 查看某个集合是否存在
rename old new : 修改某个元素的名称
expire e time : 设置某个集合的过期时间,单位是秒
ttl e : 查看某个集合所剩的超时时间
type e : 查看某个集合的类型
查看全部 -
Sorted-Set : 字符串集合,不允许元素重复。存储元素时需要关联存储一个对应的分数,分数用于排序。元素不可重复但分数可重复。成员在集合中的位置是有序的。
运用场景:大型游戏积分排行榜
zadd sort score e... : 添加元素,如果元素存在,则更新分数
zscore sort e : 获得集合sort中元素e的分数
zcard sort : 获得集合sort的元素个数
zrem sort e... : 删除集合sort中的元素e(e可为多个)
zrange sort 0 -1 : 查找sort集合中的所有元素
zrange sort 0 -1 withscores : 带分数查看集合中的元素,从小到大
zrevrange sort 0 -1 withscores : 带分数查看集合中的元素,从大到小
zremrangebyrank sort start stop : 删除sort集合中在start和stop范围内的元素(按排名范围删除元素)
zremrangebyscore sort start stop : 按照分数范围删除元素
zrangebyscore sort start stop [withscores] [limit indext,len] : 按照分数范围进行查询
zincrby sort score e : 给元素e增加分数score
zcount sort start stop : 查看分数在start和stop范围内的元素个数
查看全部 -
特点:set 集合不允许存储重复元素
运用场景:跟踪一些唯一性数据、用于维护数据对象之间的关联关系。
向set中添加一个或多个元素 :sadd set member...
smembers set :查看set中的元素
sismember set x : 判断set中是否存在元素x,是返回1,否则返回0
srem set member... : 删除set中一个或多个元素
sdiff set1 set2 : 差集运算,用set1中的每个元素去匹配set2中的所有元素,匹配到了就不显示,没有匹配到就是显示出来也就是差集运算的结果。这个跟两个集合的顺序有关,也就是说顺序不一样,差集运算的结果就不一样,虽然比的是两个同样的集合。
sinter set1 set2 : 交集运算,取两个集合中相同的元素。
sunion set1 set2 : 并集运算,取两个集合的元素之合,但重复元素只会出现一次。
scard set : 返回集合的长度。
srandmember set : 随机返回set中的某个元素。
sdiffstore set set1 set2 : 将set1、set2的差集存到set中,set中之前的元素会被覆盖
sinterstore set set1 set2 : 将set1、set2的交集存到set中,set中之前的元素会被覆盖
sunionstore set set1 set2 : 将 set1、set2的并集存到set中,set中之前的元素会被覆盖
查看全部 -
list是按照插入顺序排序的
向左端添加:lpush list a b c
向右端添加:rpush list a b c
查看列表:lrange list start stop
start :起始索引,可以为负数,当为负数时代表从右端第几个元素开始
stop :结束索引,可以为负数,当为负数时代表从右端第几个元素开始
lpop list : 每次从左端弹出一个元素,弹出之后list中的元素个数会-1
rpop list : 每次从右端弹出一个元素,弹出之后list中的元素个数会-1
lpushx list e : 从头部(左侧)向list中添加一个元素e
rpushx list e : 从尾部(右侧)向list中添加一个元素e
lrem list count value : 从list中删除count个value的值
count > 0 : 从头部向尾(从左向右)删
count < 0 : 从尾部向头部删
count = 0 : 删除所有个等于value的元素
lset list index value : 把list中index角标处的元素值替换成value
linsert list before pivot value : 从头部开始,在list中,向指定元素pivot前插入一个value
linsert list after pivot value : 从头部开始,在list中,向指定元素pivot之后插入一个value
rpoplpush list1 list2 : 将list1中尾部元素弹出并压入到list2的头部
rpoplpush使用场景:消息队列
查看全部 -
设置值:hset hash key1 val1
设置多个值:hmset hash key1 val1 key2 val2 = hset hash key1 val1 key2 val2
获取单个key值:hget hash key
获取多个key值:hmget hash key1 key2
删除单个key值:hdel hash key1
删除所有:del hash
判断某个属性是否存在:hexists hash key1
获取所有key和value: hgetall hash
获得属性数量:hlen hash
获取所有key: hkeys hash
获取所有val: hvals hash
指定某个属性增加某个数量: hincrby hash age number
查看全部 -
Redis应用场景
查看全部 -
四类NoSQL数据库比较
查看全部 -
一系列redis操作:set get incr incr decr incrby decrby
查看全部
举报