黑马程序员技术交流社区

标题: [java]学习笔记 [打印本页]

作者: puchangqiu    时间: 2019-3-28 14:03
标题: [java]学习笔记
redis
        概念
                redis是一款高性能的NOSQL系列的非关系型数据库
                        数据之间没有关联关系
                        数据存储在内存中
        命令操作
                redis存储的是键值对,key都是字符串,value有以下5种数据类型
                        数据类型
                                String
                                        把对象转为json字符串,存进内存
                                Hash
                                        map
                                List LInkedList
                                        集合
                                set
                                        不重复
                                                无序
                                sorrdet
                                        不重复
                                                自动排序
                String
                        存储
                                set key value
                        获取
                                get key
                        删除
                                del key
                Hash
                        存储
                                hset key hashkey hashvalue
                        获取
                                hget key hashkey
                                        获取指定的值
                                hgetall key
                                        获取所有键值对
                        删除
                                hdel key hashkey
                list
                        可以添加一个元素到列表的头部(左边)或者尾部(右边)
                        添加
                                lpush key value: 将元素加入列表左边
                                rpush key value:将元素加入列表右边
                        获取
                                lrange key start end :范围获取
                        删除
                                lpop key: 删除列表最左边的元素,并将元素返回
                                rpop key: 删除列表最右边的元素,并将元素返回
                set
                        添加
                                sadd key value
                        查询
                                smembers key
                        删除
                                srem key value
                sortedset
                        不允许重复元素,且元素有顺序.每个元素都会关联一个double类型的分数
                        存储:zadd key score value
                        获取:zrange key start end [withscores]
                        删除:zrem key value
                通用命令
                        keys * : 查询所有的键
                        type key : 获取键对应的value的类型
                        del key:删除指定的key value
        持久化
                RDB
                        默认
                                在一定的间隔时间中,检测key的变化情况,然后持久化数据
                        编辑redis.windows.conf文件
                                #   after 900 sec (15 min) if at least 1 key changed
                                save 900 1
                                #   after 300 sec (5 min) if at least 10 keys changed
                                save 300 10
                                #   after 60 sec if at least 10000 keys changed
                                save 60 10000
                        重新启动redis服务器,并指定配置文件名称
                                D:\JavaWeb2018\day23_redis\资料\redis\windows-64\redis-2.8.9>redis-server.exe redis.windows.conf       
                AOF
                        编辑redis.windows.conf文件
                                appendonly no (yes)
                                        # appendfsync always : 每一次操作都进行持久化
                                        appendfsync everysec : 每隔一秒进行一次持久化
                                        # appendfsync no         : 不进行持久化
        Jedis
                一款java操作redis数据库的工具
                使用步骤
                        1. 下载jedis的jar包
                        2. 使用
                                //1. 获取连接
                                        Jedis jedis = new Jedis("localhost",6379);
                                //2. 操作
                                        jedis.set("username","zhangsan");
                                //3. 关闭连接
                                        jedis.close();
                String
                         jedis.setex("activecode",20,"hehe");//将activecode:hehe键值对存入redis,并且20秒后自动删除该键值对
        Jedis连接池
                JedisPool
                使用
                        创建一个配置对象
                                JedisPoolConfig config = new JedisPoolConfig();
                        创建JedisPool连接池对象
                                JedisPool jedisPool = new JedisPool(config,"localhost",6379);
                        调用getResource()方法获取Jedis连接




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2