-
存储set
添加
sadd setName val1 val2 val3
删除
srem setname val1
查询
smembers setname
集合差集运算
sdiff setname1 setname2
交集运算
sinter setname1 setname2
并集运算
sunion setname1 setname2
获取set的元素个数
scard setname
随机获取set中的一个元素
srandmember setname
将两个set的差集传入到一个新set(已有的set会被替换)
sdiffstore newset oldset1 oldset2
将两个set的交集传入到一个新set(已有的set会被替换)
sinterstore newset oldset1 oldset2
将两个set的并集传入到一个新set(已有的set会被替换)
sunionstore newset oldse1 oldset2
set使用场景
跟踪一些唯一性数据
用于女维护数据对象之间的关联关系
查看全部 -
存储list
ArrayList使用数组方式
LinkedList使用双向链接方式
两端添加
lpush listName val1 val2 val3 //依次从链表的左边插入数据
rpush listName val1 val2 val3 //依次从链表的右边插入数据
查看列表
lrange listName startIndex endIndex //index为负数时,代表从链表的尾部倒数第几个的位置
弹出元素
lpop listName //弹出最左边的元素
rpop listName //弹出最右边的元素
查看元素个数
llen listName
链表存在时添加
lpushx listName val1
rpushx listName val1
移除元素
lrem listName count value
count>0时,从头(左)开始删除count个值为value的元素
count<0时,从尾(右)开始删除count个值为value的元素
count=0时,删除所有值为value的元素
指定位置插入(会替换之前值)
lset listName index value
指定元素(从头开始找到的第一个符合的元素)插入
linsert listName before value insertValue
linsert listName after value insertValue
将一个链表最尾部的数据移除并插入到另一个链表的头部:
rpoplpush list1 list2
常用于备份数据
查看全部 -
hash类型
set:
hset hashName key1 value1
hset hashName key2 value2
hmset hashName key1 value1 key2 value2
get:
hget hashName key1
hmget hashName key1 key2
hgetall hashName
del:
hdel hashName key1 key2
del hashName
hincr | hdecr:
hincrby hashName key number
hexist:
hexist hashName key //1存在,0不存在
hlen:获取所有属性个数
hlen hashName
hkeys hashName
hvals hashName
查看全部 -
redis的数据结构
五种数据类型
1. 字符串(String)
二进制,存入和获取的数据相同
2. 哈希(hash)
3. 字符串列表(list)
4. 字符串集合(set)
5. 有序字符串集合(sorted set)
key的定义
1 不要过长
2. 不要过短
3. 统一的命名规范
赋值 set key string
获取 get key
获取再赋值 getset key string2
删除 del key
数值增减
incr key //针对数值加1,不存在时先初始为0再加1
decr key //数值减1
数值扩展
incrby key int //数值+int
decrby key int //数值-int
追加字符串 append key string
查看全部 -
Jedis入门
引入jedis-3.0.1.jar
Jedis jedis = new Jedis("ip", port);
jedis.set("key","value");
jedis.get("key")
jedis.close();
使用连接池连接redis
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(30); //最大连接数
config.setMaxIdle(); //最大空闲连接数
JedisPool jedisPool = new JedisPool(config, "ip", port);
Jedis jedis = jedisPool.getResource();
jedis.set("key" ,"value")...
查看全部 -
Redis持久化 数据从内存同步到硬盘 两种持久化方式: RDB方式 AOF方式 持久化使用的方式: 1.RDB方式: 默认支持,在指定的时间间隔内,将内存中的数据集快照写入到磁盘 2.AOF方式: 日志的形式记录服务器处理的每一个操作,服务器启动之初,读取文件,重新构建数据库 3.无持久化 通过配置继用Redis持久化功能,Redis缓存机制 4.同时使用RDB和AOF
查看全部 -
redis支持的是数据类型
查看全部 -
NOsql的特点
查看全部 -
数据库比较
查看全部 -
Nosql的四大分类
查看全部 -
为什么使用NoSQL
查看全部 -
redis安装
安装gcc-c++
下载并解压redis.tar.gz
在redis folder下执行make命令(4.0之后自动安装完成)
src/redis-server 启动server
修改redis.conf的daemonize yes
src/redis-server ./redis.conf后台启动redis
./redis-cli启动客户端
./redis-cli shutdown关闭redis
查看全部 -
Redis应用场景
缓存
任务队列
网站访问统计
数据过期处理
应用排行榜
分布式集成架构中的session分离
查看全部 -
NoSQL数据库的四大分类
键值(key-Value)存储: redis
列存储
文档数据库
图形数据
查看全部 -
NoSQL(Not Only SQL)
High performance - 高并发读写
HugeStorage - 海量数据的高傲效率存储和访问
High Scalability && High Availability - 高可扩展性和高可用性
查看全部
举报