2019-12-30 redis第三课

CVS / VSS ---> 锁定模式
Subversion(SVN)---> 合并模式 + 中央服务器
BitKeeper / Git ---> 合并模式 + 分布式版本控制

Multics ---> Unics ---> Unix
Unix ---> MINIX ---> Linux ---> Android
Unix ---> BSD ---> FreeBSD ---> macOS ---> ios
Unix ---> AIX / Hp-Unix / Solaris
ken thompson ---> B
dennis ritchie ---> C

Linux安装软件:

  1. 包管理工具
    • yum CentOS
      ~ yum search nginx
      ~ yum install nginx
      ~ yum erase nginx / yum remove nginx
      ~ yum info nginx
      ~ yum list installed | grep nginx
    • rpm Redhat
      ~ rpm -ivh 下载的rpm包文件名
      ~ rpm -e
      ~ rpm -qa
    • apt Ubuntu
  2. 源代码构建安装
    安装Redis官方最新版
    ~ wget http://download.redis.io/releases/redis-5.0.7.tar.gz
    ~ gunzip redis-5.0.7.tar.gz
    ~ tar -xvf redis-5.0.7.tar
    ~ cd redis-5.0.7
    ~ make && make install
    安装Git官方最新版
    ~ wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.24.1.tar.xz
    ~ xz -d git-2.24.1.tar.xz
    ~ tar -xf git-2.24.1.tar
    ~ cd git-2.24.1
    ~ yum install -y curl libcurl-devel
    ~ ./configure --prefix=/usr/local
    ~ make && make install

lloogg.com ---> LAMP = Linux + Apache + MySQL + PHP
LNMP = Linux + Nginx + MySQL + PHP
Remote Dictionary Server ---> KV存储系统
GitHub ---> 3.x ---> 5.x
缓存系统缓解关系型数据库的访问压力

命令 & ---> 将命令放到后台运行
jobs ---> 查看后台运行的命令
fg %编号 ---> 将后台命令放到前台运行
Ctrl+z ---> 将前台命令暂停并放到后台
bg %编号 ---> 将暂停的命令在后台运行

redis-cli -p 端口 -h 主机

set username luohao ex 120 ---> 添加键值对
get username ---> 通过键查找值
ttl username ---> 查看键过期时间
expire username 300 ---> 设置键过期时间
keys * ---> 查看所有键
dbsize ---> 查看数据库大小(键值对数量)
select 编号 ---> 切换数据库
save ---> 保存数据
bgsave ---> 后台保存数据
flushdb ---> 清空当前数据库的数据
flushall ---> 清空所有数据库的数据
exists ---> 判断指定的键是否存在
type ---> 查看键对应的值的数据类型

Redis的核心数据类型:

  1. 字符串
    set key value ---> 添加键值对
    get key ---> 通过键查看值
    strlen key ---> 获取字符串长度
    append key value2 ---> 给字符串追加内容
    mset key1 value1 key2 value2 ---> 添加多组键值对
    mget key1 key2 ---> 查看多个键对应的值
    incr key ---> 值加1
    incrby key value ---> 值加上value
    decr key ---> 值减1
    decrby key value ---> 值减去value
    getrange key start end ---> 获取字符串指定范围的子串
    setrange key offset value ---> 修改字符串指定位置的内容
  2. 哈希(表) - hash
    hset key field value ---> 添加hash类型键值对
    hmset key field1 value1 field2 value2 ---> 添加多组hash类型键值对
    hget key field ---> 获取hash类型字段对应的值
    hmget key field1 field2 ---> 获取hash类型多个字段对应的值
    hgetall key ---> 获取hash类型所有的字段和对应的值
    hkeys key ---> 获取hash类型所有的字段
    hvals key ---> 获取hash类型所有字段的值
    hexists key field ---> 判断hash类型某个字段是否存在
  3. 列表 - list
    lpush key value1 value2 value3 ---> 在左边添加元素
    rpush key value1 value2 value3 ---> 在右边添加元素
    lpop key ---> 从左边移除一个元素
    rpop key ---> 从右边移除一个元素
    lrange key start end ---> 查看列表指定范围的元素
    llen key ---> 查看列表元素个数
    lindex key index ---> 查看列表指定位置元素
    lrem key count value ---> 删除列表中指定元素
  4. 集合 - set
    sadd key value1 value2 value3 ---> 添加元素
    srem key value ---> 删除元素
    spop ---> 获取随机元素
    scard key ---> 查看元素个数
    smembers key ---> 查看所有元素
    sismember key value ---> 查看集合中有没有指定元素
    sinter key1 key2 ---> 交集
    sunion key1 key2 ---> 并集
    sdiff key1 key2 ---> 差集
  5. 有序集合 - zset
    zadd key score1 mem1 score2 mem2 ---> 添加元素
    zrem key mem ---> 删除元素
    zrange key start end ---> 按score的升序查看元素
    zrevrange key start end ---> 按score的降序查看元素
    zscore key mem ---> 查看元素对应的score
    zincrby key value mem ---> 修改元素的score值

LBS应用 - Location-Based Service - 基于位置的服务

Linux系统启停服务
~ 启动:systemctl start nginx
service nginx start
~ 停止:systemctl stop nginx
service nginx stop
~ 重启:systemctl restart nginx
~ 查看状态:systemctl status nginx
~ 开机自启:systemctl enable nginx
~ 禁用自启:systemctl disable nginx

加密技术:
~ 对称加密:加密和解密使用相同的密钥 - AES
~ 非对称加密:加密和解密使用不同的密钥(公钥和私钥)- RSA
PyCrypto

项目的依赖项文件:
~ pip freeze > requirements.txt
~ pip install -r requirements.txt

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

推荐阅读更多精彩内容