设为首页 收藏本站
查看: 863|回复: 0

[经验分享] redis数据库随笔

[复制链接]

尚未签到

发表于 2018-11-5 08:58:57 | 显示全部楼层 |阅读模式
  一.什么是nosql?:
  特点:不再使用严格的表结构.同时不用sql语句作为查询
  redis支持数据持久化操作,将内存里面的数据保存到磁盘上
  常见的支持的储存数据的类型(value):string  hash  set  orderset
  二.Windows下安装
  1. 复制软件
  复制到D下的redis文件夹
  2.在cmd里面启动服务(需要超级管理员的身份启动)
  D:\redis>redis-server.exe
  3.另外在开一个终端cmd,使用客户端连接redis服务器
  D:\redis>redis-eli.exe
  三.redis的数据类型
  1.string 类型
  set设置值
  set username asion
  set age 20
  get获取值
  get username
  get age
  incr自增
  INCR age
  incrby 指定自增的数字
  INCRBY age 10
  decr 自减
  DECR age
  decrby 指定自减
  DECRBY age 10
  id       name      pass        email        sex
  1 asion    admin      123@qq.com m
  对应上表保存redis里
  set user:id:1:name asion
  set user:id:1:pass admin
  set user:id:1:email 123@qq.com
  set user:id:1:sex m
  取出数据:
  keys user:id:1*
  get user:id:1:name
  2.hash类型
  hset设置值:
  hset user:userinfo name asion
  hget获取值:
  hget user:userinfo name
  hmset设置hash的多个值:
  hmset user:userinfo name asion age 20 email 123@qq
  hgetall 获取整个可以的hash值
  hgetall user:userinfo
  3.link链表类型:
  头部压如数据:
  lpush link1 A
  lpush link1 B
  尾部:
  rpush link2 A
  rpush link2 B
  lrange获取链表里面所有的元素
  lrange link1 0 -1
  lpop删除链表里面头部的第一个元素,并返回该元素
  lpop link1
  rpop删除尾部
  rpop link1
  4.set类型
  sadd向集合添加元素
  sadd dd yuansu1
  sadd dd yuansu2
  SMEMBERS查看:
  SMEMBERS dd
  求取共同好友:
  SINTER 元素1的好友 元素2的好友
  全部好友:
  SUNION 元素1的好友 元素2的好友
  推荐好友:使用差值
  sdiff 元素1的好友 元素2的好友
  5.orderset类型:有序集合里面的元素是有序的,并且也是唯一的,也是确定的
  1.zadd 添加有序集合
  zadd php17 1 asion
  zadd php17 2 bill
  zadd php17 8 mark
  2.zrange 获取有序集合里面的元素
  zrange php17 0 -1
  3.zrange  key 0 -1 WITHSCORES获取权值
  zrange  php17 0 -1 WITHSCORES
  四.使用php操作redis
  1.复制合适的扩展文件到php的ext目录
  php_igbinary.dll
  php_redis.dll
  2.修改配置文件php.ini
  extension=php_igbinary.dll
  extension=php_redis.dll
  3.重启apache
  五.redis的一些小命令
  linux环境下:cd /usr/local/redis/bin/
  连接服务器:./redis-cli
  1.keys * 看所有的key
  2.del 删除key(成功返回1 不成功返回0)
  3.exists 检测key是否存在(存在返回1 不存在返回0)
  4.type 查看value的类型
  5.flushdb 清空当前数据库所有的key,只在测试的时候使用,线上千万不要使用。
  6.当前数据库,注意redis默认是有16个数据库(下标从0开始),但是这个不怎么使用。使用select NUmber做切换
  7.flushall 清除所有数据库的key,千万慎用
  8.dbsize 查看当前数据的key的个数
  七.linux环境下安装redis
  1.ftp上传
  phpredis-2.2.4.tar.gz
  redis-3.0.7.tar.gz
  2.复制redis-3.0.7.tar.gz phpredis-2.2.4.tar.gz到/usr/local/src解压
  然后进入cd redis-3.0.7
  编译:
  make
  指定安装路径,进行安装
  make PREFIX=/usr/local/redis install
  建立redis的配置文件目录和配置文件的
  copy mkdir /etc/redis
  cp redis.conf /etc/redis/
  cd /etc/redis/bin
  vim /etc/redis/redis.conf
  daemonize yes
  启动服务
  ./redis-server /etc/redis/redis.conf
  ps axu | grep redis
  使用客户端操作
  ./redis-cli
  3.解压phpredis-2.2.4.tar.gz
  进入解压后的目录,并使用/usr/local/php/bin/phpize收集信息
  使用./configure --with-php-config=/usr/local/php/bin/php-config来收集操作系统信息
  编译和安装
  make && make install
  vim /usr/local/php/lib/php.ini
  extension = redis.so
  八.redis 安全问题
  linux环境下:
  vim /etc/redis/redis.conf
  添加密码:
  requirepass admin
  wq
  pkill -9 redis
  /usr/local/redis/bin/redis-server /etc/redis/redis.conf
  auth admin 或者 /usr/local/redis/bin/redis-cli -a admin
  九.redis的持久化
  redis的数据本身是保存在内存里面的,但是redis提供了持久化的功能,可以把数据保存在磁盘上,下一次启动redis服务的时候,会自动的把磁盘上的数据载入到内存里面
  linux环境下:
  进入配置文件vim /etc/redis/redis.conf
  save 900 1
  save 300 10
  save 60 10000
  将内存里面的数据持久化到磁盘
  dbfilename dump.rdb
  save 900 1 代表的含义:如果在900s或者900s以上有1次对key的操作则把内存数据持久化到磁盘上
  save 300 10 代表的含义:如果在300s或者300s以上有10次对key的操作则把内存数据持久化到磁盘上
  save 60 10000 代表的含义:如果在60s或者60s以上有10000次对key的操作则把内存数据持久化到磁盘上


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-630904-1-1.html 上篇帖子: Redis集群部署文档(centos6系统) 下篇帖子: Redis(一):初识Redis内存数据库与持久化
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表