安装
在虚拟机Linux中安装,下载,然后放到虚拟机的/opt路径下 解压,然后通过make指令编译和安装,在此之前,要安装好c语言环境和gcc,这里就不细说了
启动
前台启动“redis-server 后台启动 到/opt路径下,复制conf文件 进入/etc,修改redis.conf 这里改成yes,保存退出 在etc…目录下运行conf文件,完成后台运行 来验证一下: 关闭redis 或者用kill命令
介绍
默认16个数据库,下标0开始,使用select命令来切换数据库,所有库同样密码。
dbsize查看当前数据库的key flushdb清空当前数据库 flushall通杀全部库
数据类型
key操作
先设定key 查看key,及查看key的类型
删除key expire key 10:给key设置10s过期时间 ttl查看还有多少秒过期,-1表示永不过期,-2表示已经过期 查看当前数据库key数量 清空:flushdb
字符串(String)
set <key> <value> get <key> setnx <key> <value>只有key不存在时,设置key的值 incr <key>增加1 decr <key>减一 incrby/decrby / <步长>:增加/减少步长 mset、mget:设置多个key value值
获取范围getrange setrange <key><起始位置><value> 用value覆写指定位置的字符串 setnx <key> <value>设置键的同时,设置过期时间 getset <key><value>设置了新值同时获得旧值
List
Redis列表是简单的字符串列表,按照插入顺序排序,底层为一个双向链表,对两端的操作性很高,通过索引下标的操作中间的节点性能会较差 lpush/rpush key1 value1 value2…:从左/右边插入一个值 lpop/rpop从左、右吐一个值 lrange key start stop按照索引下标从左往右获得元素 lindex key index 按照索引下标获得元素 llen key 获得列长度 lrem key n value:从左边删除n个value iset key index value:将列表key下标为index的值替换成value
set集合
sadd key value1 value2添加 ****加粗样式smembers key查询 sismemer key value判断集合key是否含有value值,有1,没有0 scard key返回该集合的元素个数 **srem key value1 value2…**删除集合某元素 spop key 随机从集合中吐一个值 srandmember key n:随机从该集合中取出n个值,不会从集合删除 smove key1 key2 value:将key1中的value值转给key2 sinter key1 key2返回交集元素 sunion key1 key2返回并集元素 sdiff key1 key2 返回两个集合的差集元素(key1中的,不包括k2中的) Set集合数据结构是字典,字典是通过哈希表实现的
哈希(Hash)
hash是键值对集合,是string类型的field和value的映射表,hash特别适合用于存储对象,类似java里面的Map<String,Object>
hset key field value:设定值 hget key field:获取field的值 hmset key field1 value1 field2 value2 : 批量设置 hexists key field:判断field是否存在 hkeys key:列出所有field hvals key:列出所有value hincrby key field n:将field增加n hsetnx key field value:将key中的域field的值设为value,当且仅当域field不存在
有序集合Zset
没有重复元素的字符串集合,有序集合的每个成员都关联了一个评分score,这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员,集合成员是唯一但评分可以重复
添加:zadd key score1 value1 score2 value2… zrange key start stop:排名显示 zrangebyscore key min max [withscores] : 在此区间内元素从小到大排序 zrevrangebyscore key max min [withscores] : 在此区间从大到小排序 zincrby key increment value:给value增加increment分数 zcount key min max : 统计min到max间元素个数 zrank key value : 返回该值在集合中的排名,从0开始 zrem key value : 删除该集合,给定值的元素
发布和订阅
pub/sub是一种消息通信模式:发送者pub发送信息,sub订阅者接收信息 Redis可以订阅任意数量的频道 订阅者:
发布者: 订阅者收到发布者发布的haha:
其它数据类型
Bitmaps
Redis提供这个"数据类型"可以对位进行操作,实际是字符串
setbit key offset value设置键的第offset个位的值(从0算起) getbit key offset 获取值 bitop and b1 b2 : 两个bitmap都共有值的数量
HyperLogLog
基数 添加:pfadd key value1 value2 pfcount key 统计数量 pfmerge key1 key2 合并数量
Geographic
经纬度设置
geoadd key 经度 纬度 value : 添加 geopos key value : 获取经纬度值 geodist key value1 value2 [单位]: 计算value1和value2的距离(单位默认为米) 指定坐标内,指定半径内的城市 如:指定110 30坐标内,1000km的城市
Jedis
今晚继续
|