安装
在虚拟机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
今晚继续
|