redis学习

  1. 什么是redis
    redis是一个nosql(not only sql不仅仅只有sql)数据库.翻译成中文叫做非关系型型数据库.
    关系型数据库:以二维表形式存储数据
    非关系型数据库: 以键值对形式存储数据(key, value形式)
    是一家意大利的创业公司出的,然后后来这家公司被VMware赞助. redis底层用C语句编写.

    redis是将数据存放到内存中,由于内容存取速度快所以redis被广泛应用在互联网项目中,
    redis有点:存取速度快,官方称读取速度会达到30万次每秒,写速度在10万次每秒最有,具体限制于硬件.
    缺点:对持久化支持不够良好,
    所以redis一般不作为数据的主数据库存储,一般配合传统的关系型数据库使用.

  2. redis应用领域
    分布式缓存
    分布式session
    保存博客或者论坛的留言回复等.
    总之是用在数据量大,并发量高的情况下

  3. 怎么用
    redis主要就是使用命令来进行操作,java端在代码中可以使用Jedis来操作redis服务器
    redis数据类型
    字符串String
    列表list redis中使用的是双向循环链表来实现的list,在redis中更像栈
    散列Hash 一般应用于将redis作为分布式缓存,存储数据库中的数据对象
    集合set set中数据是无序的并且不允许重复
    有序集合zset redis会根据分数自动排序,这里可以使用在学生成绩排序,
    或者是手机应用商店流行软件排名等需求中
    4.redis持久化方案:
    rdb:可以设置间隔多长时间保存一次(Redis不用任何配置默认的持久化方案)
    有点:让redis的数据存取速度变快
    缺点:服务器断电时会丢失部分数据(数据的完整性得不到保证)
    aof:可以设置实时保存
    优点:持久化良好,能包装数据的完整性
    缺点:大大降低了redis系统的存取速度

  4. 主从复制:
    这里使用了心跳检测机制,主从复制必须使用rdb持久化方式
    从服务器一般是只读的,保证主服务器和从服务器的数据一致性
    cd /usr/local/
    ls
    mkdir redis

cp /root/redis
chmod +x redis-3.0.0.tar.gz #可执行权限
tar -zxvf redis-3.0.0.tar.gz #解压

cd redis-3.0.0 #进入
make #编译

make PREFIX=/usr/local/redis install #指定安装到redis目录
./redis-server #启动redis 前端启动

cd /usr/local/redis/bin #
./redis-cli #连接客户端
set key1 1 #进去了
get key1 #取出来了

cd ..
cd redis-3.0.0

cd /usr/local/redis/bin
vi redis.conf #该配置文件
daemonize yes
./redis-server redis.conf #后端启动
ps -aux|grep redis #后端启动
ps aux|grep redis #后端启动
./redis-cli #连接redis

cd /usr/local/redis/bin
ls
./redis-cli shutdown #关闭

incr key2  #递增
decr key2  #递减
decrby num 3 # 减去3

hset user2 name  'alice' #设置耽搁属性
hset user2 gender 'woman'
hset user2 age 18
hget user2 name  #取出name属性

hdel user2 name #删除属性
hdel user2 gender age #删除两个属性

hmset user1 name '张三' age 22 gender 'woman'  #设置对象属性
hmget user1 name age gender  #取出对象属性
hgetall user1   #直接取出对象属性

List
栈结构存取
lpush lkey 1 2 3  #push 
lrange lkey 0 2 #start - end element
lrange lkey 0 -1  #全部取出
rpush lkey 7 8 9 #从右边放入
lrange lkey 0 -1

lpop lkey  #栈弹出
llen lkey #获取元素

Set
sadd skey1 1 2 3 4 5 6  #存入
smembers skey1    #取出
srem skey1 5 #删除element 5
sismember skey1 4  ==>1   #判断元素是否存在于集合中
sismember skey1 10 ==>0

sdiff skey1 skey2   #
 sinter skey1 skey2  #交集
sunion skey2 skey1   #并集

zadd zkey1 10 '张三' 20 '李四' 30 '王麻子'  #数据会自动排序
zrange zkey1 0 -1 #取出(排序后的数据)
zrange zkey1 0 -1 withscores  #全部显示数据(排序后)
zrem zkey1 '李四'  #去掉'李四'
zscore zkey1 '张三' #查询单个人的数据信息
zrevrange zkey1 0 -1 withscores   #降序

keys * #所有的命令
keys *1  #匹配带1的索引key
ping #查看服务器是否死掉
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值