当前位置: 首页 > news >正文

免费网站空间10g电子商务之网站建设

免费网站空间10g,电子商务之网站建设,系统开发师,wordpress自动生产在前面的学习中#xff0c;只是学习了各种redis的操作#xff0c;都是在redis命令行客户端操作的#xff0c;手动执行的#xff0c;更多的时候就是使用redis的api#xff08;#xff09;#xff0c;进一步操作redis程序。 在java中实现的redis客户端有很多#xff0c;…在前面的学习中只是学习了各种redis的操作都是在redis命令行客户端操作的手动执行的更多的时候就是使用redis的api进一步操作redis程序。 在java中实现的redis客户端有很多接下来我们将使用jedis在maven仓库下载jedis。 在depency这里引入依赖。并且需要修改外网ip连接到云服务器并且开启6379端口。 不能开放6379端口因为容易被黑客入侵所以我们需要配置ssh端口转发把云服务器的redis端口映射到本地主机。 ssh端口转发的配置 相当于通过ssh的22来传递其他端口的数据比如本身想要访问6379我们就构造一个ssh的数据报就要把访问redis请求放在数据报中通过比较安全的22端口交给云服务器服务器的程序就能解析该数据报然后交给6379端口。 但是这时候我们会在本地创建一个端口比如8888映射6379这个端口类似于在本地设立一个办事处我们访问8888也就是访问Linux的6379访问本地就是访问远程窗口。 话不多说我们进行一个简单的配置就可以把本地端口当成远程用。 打开属性点击添加在redis中进行如下配置最后点击连接。 最后在cmd中输入netstat -ano | findstr 8888查看是否连接好了。 接下来通过我们自己的127.0.0.1:8888就能操作redis了。 通过下列代码连接redis。 JedisPool jedisPoolnew JedisPool(tcp://127.0.0.1:8888); 接着再从池子中获取连接连接用完之后要记得关闭close此处的释放是把redis的连接放回池子中。 try(Jedis jedisjedisPool.getResource()){//接下来的命令就对应到redis的客户端操作了System.out.println(jedis.ping());} 在这里我们之前配置好了redis.conf的配置项。 get和set方法 import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.params.SetParams;public class RedisDemo {public static void test(Jedis jedis){jedis.flushAll();jedis.set(key,111);jedis.set(key1,222);SetParams setParamsnew SetParams();setParams.ex(10);setParams.nx();jedis.set(key3,333,setParams);String key3 jedis.get(key3);System.out.println(key3);}public static void main(String[] args) {//连接redis服务器上面redis连接池。JedisPool jedisPoolnew JedisPool(tcp://127.0.0.1:8888);try(Jedis jedisjedisPool.getResource()){//接下来的命令就对应到redis的客户端操作了/*System.out.println(jedis.ping());*/test(jedis);}} }在这个test方法中通过set和get方法创建和使用key并且我们还可以给key设定setParams可以设置其超时时间等。 exist和del public static void test2(Jedis jedis){jedis.flushAll();jedis.set(key,111);jedis.set(key2,222);boolean result jedis.exists(key);System.out.println(result result);long delnum jedis.del(key2);System.out.println(delnum);}public static void main(String[] args) {//连接redis服务器上面redis连接池。JedisPool jedisPoolnew JedisPool(tcp://127.0.0.1:8888);try(Jedis jedisjedisPool.getResource()){//接下来的命令就对应到redis的客户端操作了/*System.out.println(jedis.ping());*//*test1(jedis);*/test2(jedis);}} 通过test2调用来获取key数据书否存在以及删除元素的操作来删除以及存在的元素返回的结果是删除的个数。 keys方法 public static void test3(Jedis jedis){jedis.set(key,111);jedis.set(key1,111);jedis.set(key2,111);jedis.set(key3,111);SetString keys jedis.keys(*);System.out.println(keys);}public static void main(String[] args) {//连接redis服务器上面redis连接池。JedisPool jedisPoolnew JedisPool(tcp://127.0.0.1:8888);try(Jedis jedisjedisPool.getResource()){//接下来的命令就对应到redis的客户端操作了/*System.out.println(jedis.ping());*//*test1(jedis);*//*test2(jedis);*/test3(jedis);}} 在这里通过接受并且打印set的方式在控制台打印set并且这里的key没有顺序。 expire和ttl public static void test4(Jedis jedis){jedis.flushAll();jedis.set(key,111);jedis.expire(key,10);try {Thread.sleep(3000);} catch (InterruptedException e) {throw new RuntimeException(e);}long time jedis.ttl(key);System.out.println(time);}public static void main(String[] args) {//连接redis服务器上面redis连接池。JedisPool jedisPoolnew JedisPool(tcp://127.0.0.1:8888);try(Jedis jedisjedisPool.getResource()){//接下来的命令就对应到redis的客户端操作了/*System.out.println(jedis.ping());*//*test1(jedis);*//*test2(jedis);*/ // test3(jedis);test4(jedis);}} 通过expire设置过期时间以及通过ttl查看过期时间还剩下多少。 type public static void test5(Jedis jedis){jedis.flushAll();jedis.set(key,111);String type jedis.type(key);System.out.println(type);} 通过如上方法打印type的类型到控制台由于没有过多设置这里默认是String类型。 mset和mget方法 public static void test(Jedis jedis){jedis.flushAll();jedis.mset(key,000,key1,111,key2,222,key3,333);ListString list jedis.mget(key, key1, key2);System.out.println(list);} 如果在mgetde过程中查询了一个不存在的key就会出现null的情况。 setrange和getrange方法 public static void test1(Jedis jedis){jedis.flushAll();jedis.set(key,asdfghjkl);String string jedis.getrange(key, 2, 5);System.out.println(string);jedis.setrange(key,2,asasa);String string1 jedis.get(key);System.out.println(string1);} getrange获取指定区间的元素setrange从指定位置开始修改元素。 append 对key进行字符串拼接。 public static void test2(Jedis jedis){jedis.flushAll();jedis.set(key,111);jedis.append(key,asdfghjkl);String key jedis.get(key);System.out.println(key);} incr和decr public static void test3(Jedis jedis){jedis.flushAll();jedis.set(key,100);long key jedis.incr(key);System.out.println(key);long key1 jedis.decr(key);System.out.println(key1);} 通过incr和decr来对指定的key中的数字加减。 list相关lpush,lrange等操作 public static void test(Jedis jedis){jedis.flushAll();jedis.lpush(key,111,222,333);ListString list jedis.lrange(key, 0, -1);System.out.println(list);} 头插法进行对头部插入。  集合类型sadd和smembers public static void test(Jedis jedis){jedis.flushAll();jedis.sadd(key,111,222,333,444,555);SetString set jedis.smembers(key);System.out.println(set);boolean result jedis.sismember(key, 111);System.out.println(result);} 哈希类型的使用 public static void test1(Jedis jedis){jedis.flushAll();MapString,String fieldnew HashMap();field.put(f1,111);field.put(f2,222);jedis.hset(key,field);String hget jedis.hget(key, f1);System.out.println(hget);} 先构造一个哈希类型的field并且通过jedis来放置field。 Zset有序集合 public static void test(Jedis jedis){jedis.flushAll();jedis.zadd(key,10,lisi);MapString,Double mapnew HashMap();map.put(zhangsan,20.0);map.put(lisi,15.0);jedis.zadd(key,map);ListTuple key jedis.zrangeWithScores(key, 0, -1);System.out.println(key);System.out.println(key.get(0).getScore());System.out.println(key.get(0).getElement());} 在spring中配置redis 首先要在yml文件中配置以下配置。 spring:data:redis:port: 8888host: 127.0.0.1接着在xml文件中导入操作redis的依赖。 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId/dependency 在controller中注入 StringRedisTemplate在java中我们是直接使用jedis来操作redis但是在spring中使用StringRedisTemplate是专门处理文本数据的。 AutowiredStringRedisTemplate stringRedisTemplate; 在StringRedisTemplate中做了进一步的封装可以得到专门操作某个数据结构的对象比如获得专门操作哈希的对象。 StringSpring版本 通过ops的方法来操作相应的对象。 Resourceprivate StringRedisTemplate stringRedisTemplate;RequestMapping(/test)public String test(){stringRedisTemplate.getConnectionFactory().getConnection().flushAll();stringRedisTemplate.opsForValue().set(key1,111);stringRedisTemplate.opsForValue().set(key2,222);stringRedisTemplate.opsForValue().set(key3,333);String string stringRedisTemplate.opsForValue().get(key1);System.out.println(string);return ok;} 执行redis原生命令excute redis留了一个后手能让我们随时执行redis原生命令。 stringRedisTemplate.execute((RedisConnection connection)-{connection.flushAll();return null;}); 通过execute方法和lambda表达式来构建connection方法来调用flush方法就能够做到类似于在控制台上面操作程序。 ListSpring版本 public String testList(){stringRedisTemplate.execute((RedisConnection connection)-{connection.flushAll();return null;});stringRedisTemplate.opsForList().leftPush(key,111);String string stringRedisTemplate.opsForList().rightPop(key);System.out.println(string);return ok;} SetSpring版本 public String testSet(){stringRedisTemplate.execute((RedisConnection connection)-{connection.flushAll();return null;});stringRedisTemplate.opsForSet().add(key,111,222,333);SetString key stringRedisTemplate.opsForSet().members(key);System.out.println(key);Boolean isexiststringRedisTemplate.opsForSet().isMember(key,111);System.out.println(isexist);return ok;} Set操作和前面的List和String操作也很相似。这里我们就快速学习一下。 HashSpring版本 public String testHash(){stringRedisTemplate.execute((RedisConnection connection)-{connection.flushAll();return null;});stringRedisTemplate.opsForHash().put(key,f1,111);stringRedisTemplate.opsForHash().put(key,f2,222);stringRedisTemplate.opsForHash().put(key,f3,333);String value (String) stringRedisTemplate.opsForHash().get(key, f1);System.out.println(value);Boolean exist stringRedisTemplate.opsForHash().hasKey(key, f1);Long l stringRedisTemplate.opsForHash().size(key);System.out.println(l);return ok;} public String testZSet(){stringRedisTemplate.execute((RedisConnection connection)-{connection.flushAll();return null;});stringRedisTemplate.opsForZSet().add(key,zhangsan,10);stringRedisTemplate.opsForZSet().add(key,lisi,20);stringRedisTemplate.opsForZSet().add(key,wangwu,30);SetString key stringRedisTemplate.opsForZSet().range(key, 0, -1);System.out.println(key);SetZSetOperations.TypedTupleString key1 stringRedisTemplate.opsForZSet().rangeWithScores(key, 0, -1);System.out.println(key1);return ok;}
http://www.tj-hxxt.cn/news/136412.html

相关文章:

  • 奉贤做网站公司什么浏览器可以看违规网站
  • 农业科技公司网站建设网站英文域名怎么查
  • 如何增加网站反链网页设计师资格证查询官网
  • 电子商务网站需要做那些准备工作主流网站宽度
  • 企业网站建设规划书ppt经典重庆网首页
  • 重庆做网站制作的公司做p2p网站的公司
  • 网站建设流程有视频网站用户增长怎么做
  • 佛山市制作网站网页界面设计ppt(完美版)百度文库
  • c苏宁网站开发商业模式包括哪些模式
  • 网站建设视频上传网站开发者不给源代码怎么办
  • 网站建设团队扬州珠海建网站的网络公司
  • 鸿邑网站建设仿制网站侵权吗
  • 手机微信小程序怎么制作佛山选择免费网站优化
  • 做设计的网站有哪些手机家装绘图软件
  • 做外贸搜索外国客户的网站淘宝网站SEO怎么做
  • 加强公司网站建设及数据库的通知代理网络怎么关闭
  • 新浪网站源代码网站后台管理图片
  • pc网站建设和推广简单的网站怎样做
  • 备份wordpress网站品牌网络推广方式
  • 做网站创业风险分析网站ping值
  • thinkphp怎么做网站cms开源建站系统
  • 上海市建设工程材料网站黄金网站软件入口免费
  • 广东圆心科技网站开发建站教程详解cms 导航网站
  • 建网站都用什么字体连云港市连云区建设局网站
  • 做有支付系统的网站一般需要多少钱创业找项目
  • 网站建设金手指快速wordpress加载
  • 济南学生网站建设求职域名备案需要有网站吗
  • 搭建网站 优帮云搜索引擎优化简称seo
  • 女生做网站后期维护工作好吗公司体系建设的意义
  • 网站建设网页制网站建设彩票网