redis

Remote Directory Server(远程服务器字典)底层c
Redis.io官网

wget http://
tar -xvzf redis.tar.gz
cd redis
make
make install

redis_benchmark 性能测试tool
redis-check-aof:AOF文件修复工具
redis-check-dump:RDB文件检测工具

redis.conf
daemonize yes yes以守护进程的方式运行

redis-server
redis-cli

shutdown
状态回复
不去分大小写: ping, SET test ‘111’
错误回复:(error),以error开始
整数回复:(integer)以integer开始 DBSIZE(数据库的大小)
字符串回复:GET test,(nil)空的
多行字符串回复:KEYS *(查看所有的键)

redis-server --PORT 6370
redis-cli -h loaclhost -p 6370

动态设置配置选项的值:

  1. 获取:
    CONFIG GET name(port)
    设置:
    CONFIG SET loglevel waining

2.redis-server redis.conf --loglevel warning
3.修改配置文件

redis.conf 相关
port:6379 默认端口
bind 127.0.0.1 默认主机地址
timeout 0 客户端多久关闭链接,0表示没有启动这个选项
loglevel notice 指定日志级别 (debug【详细信息,调试,开发测试】, verbose【有很多不太有用的信息】,notice【通知,生产环境】,warning)
logfile stdout 日志标准输出,记录方式
database 16 数据库的数量

——————快照——————

save <seconds> <changes>多少秒有多少次改变将其同步到磁盘数据文件中
save 900 1 代表900秒有一个更改
save 300 20

rdbcompression yes 存储本地数据库时是否压缩,默认yes
dbfilename dump.rdb 指定本地数据库的文件名,默认dump.rdb
dir ./ 指定本地数据库的位置

------------redis 数据类型----------
String 类型
        一个键最多存储512Mb
        1》.SET
                  SET key value [EX seconds] [PX millisenconds] [NX|XX]
                  NX 键不存在时,才成功
                  XX 键存在
                  PX millisenconds 指定key的生存时间 单位为毫秒
                  PX 指定key的生存时间  单位是秒
        MGET key key 获取多个值
        STRLEN key 获取长度,当key不存在返回0
        SETRANGE key offset value 字符串替换 ,长度不够用/00填充
        GETRANGE key start end  返回字符串中的一部分
        SETNX key value 只有key不存在使用
        SETEX key seconds value 设置过期时间 原子性操作(设置key value 和过期时间) == SET key value + EXPIRE key
         TTL key 查看剩余时间

        
         
        MSET 一次设置多个键值对,只有全部key都成功才算成功
        MSET key value key1 value

          PSETEX key 毫秒 value 以毫秒为点位设置生存周期
          PTTL key 查看剩余时间(毫秒)

        decr key 指定key的值减一
        decrby key num 减去制定的值

        incr key  加一
        incrby key num 加上一个指定的增量(整数)
        incrbyfloat key float

      del key 删除 key

Hash类型

hash-max-ziplist-entries 512  最大存储字节512字节
hash-max-ziplist-value 64 字段数目

HSET  key field value 将HASH表中的filed设置成指定value 
                    field  有着覆盖,没有则创建。存在返回0,不存在返回1

HGET key field value 获得表中的值
HSETNX field  value 如果field存在,操作无效
HDEL KEY field 删除
HKEYS  key
hlen key
hvals key

List类型

 *
?
[]        a[b-e] -->ab ac ae
\x

keys *   key t*(t开头)

type key 获取key的类型,不存在的key返回none
expire key seconds 过期时间 s
pexpire key miliseconds 过期时间ms
pttl
exists key 判断key是否存在

persist key 将有时间限制的key转化为永久key
random key 随机返回一个key
rename oldkey newkey

renamenx 重命名的新名称不存在才执行

dump key 序列化
 restore key ms serilizeget  反序列化
 move key db 不存在报错,都存在不移动
object ,scan, sort,migrate
list type

lpush key value value .... 向链表左端添加元素
rpush key value value.... 右端添加

lpushx key value value .... 向链表左端添加元素,只有key存在材添加,不存在创建
rpushx key value value.... 右端添加

lpop key zuo弹出
rpop  key 右弹出

llen key 长度
lrange key start stop 截取

lrem 删除指定值
lrem key count value 
count>0从头开始,向尾搜索,remove与value相等的元素,移除count个
count <= 从列表的尾部向搜索,移除与value想的元素,移除count个
count == 0 移除列表中所有与count相等的值

lindex  key index (index可以是正数也可以是负数)
lset key index value 
ltrim  key start stop 只保留列表的片段(结束点比起始点大,列表清空)
linsert  key before|after pivot value  插入元素
lpush test  1 2 3 4
linsert test before 2  5  ( 4 3 2 5 1 )返回列表的长度 否则赶回-1
空列表返回0 (失败)

rpoplpush source destination将一个列表(右边弹出)转到另一个列表(左端加入)
lpush test1 1 2 3 4 
lpush test2  5 6 7 8
rpoplpush test1 test2 (test1:4 3 2   test2: 8 7 6 5 1 )
rpoplpush test1 test1 (1 4 3 2)
source不存在返回nil

blpop (lpop 的阻塞版本)
blpop key[key...]  timeout(0表示无限阻塞)


Set类型

####无序集合
sadd key member[....] 添加元素
sadd test 1 2 
exist test
注:添加元素不能重复 只添加不重复的元素
smembers key 返回集合中的所有成员
sismember  key value  检测value是否是集合的成员,是返回1 ,不是返回0
srem  key member[.....]  删除集合中的一个或者多个成员,删除不存在的元素返回0,删除成功,返回删除的个数
spop key 删除并返回集合中的随机元素

srandmember key count 随机返回集合中的元素
注意:count为正数,小于集合中的元素,返回随机元素的集合数组,当count大于集合个数,返回整个集合,count为负数,返回一个数组,数组成员可能出现重复,数组长度取count的绝对值

sdiff key key 返回集合间的差集 在集合1中不在集合2中
sadd test1  a b c d e f
sadd test2 a b r d f 
sdiff test1 test2

sinter key key ...  交集
sinter test1 test2

sunion  key key ... 返回并集
sunion test1 test2

scard key 返回集合中元素的个数
scard test1

sdiffstore destination key key.....  将差集的结果保存到指定集合中
sdiffstore diffset test1 test2

sinterstore destination test1 test2 交集的结果保存在集合中

sunionstore destination key key ....

smove source destionation member 将集合中的元素移动到另一个集合(原子性的操作)

Zset

####有序集合
获取指定范围的数
list(链表实现,获取两端数据很快,适用于,新鲜事,日志等) vs 有序集合(跳跃表,散列表,耗费内存,快速取中间元素,能快速调换位置)
11》zadd key score member 添加元素及其分数,返回新增加的成员数量,有则更新
2》zscore key member  获取成员分数,不存在返回nail
zadd key +inf maxint -inf minint
3》zrange key start stop       按照元素分数从小到大的顺序返回指定(包含两端)是索引的start到stop之间的所有元素
zrange key 0 -1 withscore  当分数相同时,按照字典序,ascci码排序
zrange key 0 2
stop 超出索引大小,返回到结束
4》zrevrange key start stop [withsources] 安装分数从大到小的顺序排
5》zrangebyscore:获得指定分数范围内的元素,从小到大
   zrangebyscore key min max [withscore][limit offset count]限制条数
  zrangebyscore key (min  (max  (是不包含极值点
zrangebyscore min +inf withsorce limit 0 3
14> zrevrank key member
15>















 









最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容